Installer packages dans un autre repertoire (ex LaTeX)

Salut à tous,
Je souhaite connaître un moyen pour installer dans un répertoire différent que ceux d’origine.

Exemple : LaTeX dont je cherche à installer le gros des paquets (librairies and co) autre part.

Pour l’heure, tous paquets installés, j’en suis à environ 3GB de données, ce qui est d’une part très lourd pour ma partition /, et d’autre part devient très dur à gérer quand il s’agit de faire de la grosse maintenance système (suis pas un expert). En effet, entre les paquets installés manuellement, des réglages à tâton, tout réinstaller devient un vrai casse-tête.

Jusque là, j’avais fait une copie manuelle des répertoires contenant “tex” vers une carte SD, avec un ln -s pour chacun d’entre eux. Comme je trouvais cette solution hasardeuse tant que brouillon, j’ai tout viré pour réinstaller avec quelque chose de plus propre.

Je trouve notamment ces quelques points :
Ici, on dit que ça peut se faire avec des .rpm, mais pas avec dpkg.

Dans le même lien, Ian Kelling propose de passer par ./configure --prefix=somedir,
pendant que David Pashley propose de passer par un chroot.

J’ai également essayé de suivre la proposition de “Limited Intelligence”, mais je me suis un peu perdu.

Décompresse le paquet et copie les fichiers où tu le souhaites;

Peut-être cela pourra-t-il t’aider : grappa.univ-lille3.fr/FAQ-LaTeX/29.19.html

@haleth:
Je vais regarder la “science des .dev” ce weekend, hop !

@thuban:
c’est pile sur le sujet en tout cas. Du coup, j’ai recommencer à lire la doc du [utl=http://www.ctan.org]ctan[/url] où il y a quelque chose sur le sujet on dirait.

sinon monter une autre partition via fstab qui sera par exemple sur ta carte sd.

par exemple dans ton fstab:
UUID=… /usr/share/texlive ext4 defaults 0 2

ou en fat32 si c’est sur une carte sd.

C’est peut-être un peu tard, mais je crois bien que la solution est décrite ici : latex.developpez.com/faq/?page=L … ALLPACKAGE

@thuban
Merci pour ton lien, qui est intéressant, et la question va se poser juste après pour installer des modules exotiques sans les mélanger au pif comme j’ai fait la première fois.
Cependant, je bute encore sur l’installation de base : lorsque je vais faire un aptitude install, (à moins que alternative, comme dpkg quelque chose), tous les paquest vont s’installer dans du /usr, /etc, alors que je veux justement éviter qu’ils viennent s’y mettre et plomber le HD.

@limax
c’est un peu ce que j’essayais de faire dernièrement.
en gros dans le fstab, si je mets comme ça, ça marcherait ?

/usr/share/texlive UUID= ext4 defaults 0 2 (je l’ai mise en ext2 plutôt…)

Tu peux dans ce cas faire un chroot transparent. Captnfab de debian facile fait ça, mais j’arrive plus à mettre la main sur son tuto…
Déja, le chroot transparent qui peut très bien se trouver dans ton /home.
Tu éxécuteras les commandes de compilation latex et installera les packages dans le chroot, pas celles de /usr/…: yeuxdelibad.net/Logiciel-libre/D … ebian.html

edit : ayé, retrouvé : wiki.chezlefab.net/tuto_nix/chroot_laptop

[quote=“jarlax”]@limax
c’est un peu ce que j’essayais de faire dernièrement.
en gros dans le fstab, si je mets comme ça, ça marcherait ?

/usr/share/texlive UUID= ext2 defaults 0 2 (je l’ai mise en ext2 plutôt…)[/quote]

oui ca va marcher mais pense à déplacer le contenu de /usr/share/texlive/* dans sur ta carte sd.

@Thuban
Re la piste du chroot de retour. Je vais lire ces tutos et voir ce que j’en sort.

@limax
Mais si ce réglage du fstab est fait avant l’install, il devrait pas tout mettre dans les bonnes cases d’entrée de jeu ?

[quote=“jarlax”]
Mais si ce réglage du fstab est fait avant l’install, il devrait pas tout mettre dans les bonnes cases d’entrée de jeu ?[/quote]
Si :slightly_smiling:

[quote]@limax
Mais si ce réglage du fstab est fait avant l’install, il devrait pas tout mettre dans les bonnes cases d’entrée de jeu ?[/quote]
oui absolument mais je pensais (à tord visiblement) que l’installation était déjà faite.
Si l’installation est déjà faite alors dans ce cas il faut déplacer les fichiers et modifier le fstab.

@limax
pour le coup, ça simplifie le problème !

Donc plutôt modifier le fstab ou le chroot ?

ca dépend de tes motivations et du temps que tu veux passer.
Tu veux aller au plus simple alors modifie le fstab. Tu veux apprendre et tu as le temps alors le chroot (quoi que je n’ai pas essayé sa méthode)

Il n’y a que toi qui peut choisir :083 et si tu casses ta machine on ne sera même pas responsable :smiling_imp: .

Je taperais

  • Soit dans un mount -o bind des répertoires concernés:
    Intérêt: Pas de modifications de la configuration, rien à faire, automatisable avec un fstab bien choisi
    Inconvénient: peut être quelques résiduels mais je n’en vois pas sinon

  • Soit l’option --instdir de dpkg
    Intérêt: Dans dpkg
    Inconvénient: Nulle part ailleurs (pas dans apt-get), non testée

  • Soit la recompilation.
    Harsardeux et long

  • Soit les liens sur les répertoires
    Fatiguant à la longue

@limax
Installation faite via fstab, et ça marche nickel !
Quant à chroot, et que personne nez responsable, ben je vais lire la doc avant d’être sûr de me lancer.

@fran.b

  • mount -o bind, man mount says:

[quote] Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
mount --bind olddir newdir
or shortoption
mount -B olddir newdir[/quote]cela semble effectivement une méthode intéressante, cumulable au fstab.

  • J’ai lu peu d’info sur dpkg --instdir (cf mon premier post). Il semblerait que les rpm savent mieux gérer l’installation dans un autre dossier.

  • faire des copies des répertoires puis des liens, c’est ce que j’ai fait la première fois, mais c’était vraiment au pif, au final, j’avais des bouts de LaTeX un peu partout mélangés.

  • et pour la recompilation, je ne maîtrise pas le sujet, donc pour le moment, j’évite.

@thuban (et fran.b)
Après lecture plus approfondie, le chroot tel que présenté dans tes liens, même si la technique me semble encore un peu obscure, est précisément ce que je veux faire, que ce soit pour LaTeX, mais aussi pour tous les exemples qui y sont présentés, comme une meilleure maintenance du système. Maintenant, il s’agit d’arriver à le mettre en place…