Installez chaque programme dans une arborescence de répertoires dédiée et utilisez Stow ou XStow pour que tous les programmes apparaissent dans une hiérarchie commune. Stow crée des liens symboliques du répertoire spécifique au programme vers une arborescence commune.
Plus en détail, choisissez un répertoire de niveau supérieur, par exemple /usr/local/stow
. Installez chaque programme sous /usr/local/stow/PROGRAM_NAME
. Par exemple, organisez l’installation de ses exécutables /usr/local/stow/PROGRAM_NAME/bin
, de ses pages de manuel /usr/local/stow/man/man1
, etc. Si le programme utilise autoconf, lancez-le ./configure --prefix /usr/local/stow/PROGRAM_NAME
. Après avoir couru make install
, lancez stow
:
./configure --prefix /usr/local/stow/PROGRAM_NAME
make
sudo make install
cd /usr/local/stow
sudo stow PROGRAM_NAME
Et maintenant, vous aurez des liens symboliques comme ceux-ci:
/usr/local/bin/foo -> ../stow/PROGRAM_NAME/bin/foo
/usr/local/man/man1/foo.1 -> ../../stow/PROGRAM_NAME/man/man1/foo.1
/usr/local/lib/foo -> ../stow/PROGRAM_NAME/lib/foo
Vous pouvez facilement suivre les programmes que vous avez installés en listant le contenu du stow
répertoire. Vous savez toujours à quel programme appartient un fichier, car il s'agit d'un lien symbolique vers un emplacement situé dans le répertoire de ce programme. Désinstallez un programme en exécutant stow -D PROGRAM_NAME
puis en supprimant le répertoire du programme. Vous pouvez rendre un programme temporairement indisponible en le lançant stow -D PROGRAM_NAME
(exécutez-le stow PROGRAM_NAME
pour le rendre à nouveau disponible).
Si vous voulez pouvoir basculer rapidement entre les différentes versions du même programme, utilisez-le /usr/local/stow/PROGRAM_NAME-VERSION
comme répertoire du programme. Pour mettre à niveau de la version 3 à la version 4, installez la version 4, puis exécutez-la stow -D PROGRAM_NAME-3; stow PROGRAM_NAME-4
.
Les anciennes versions de Stow ne vont pas très loin au-delà des bases décrites dans cette réponse. Les versions plus récentes, ainsi que XStow (qui n’a pas été maintenue récemment) ont des fonctionnalités plus avancées, telles que la possibilité d’ignorer certains fichiers, de mieux gérer les liens symboliques existants en dehors du répertoire de stockage (tels que man -> share/man
), de gérer automatiquement certains conflits (lorsque deux les programmes fournissent le même fichier), etc.
Si vous n'avez pas ou ne voulez pas utiliser un accès root, vous pouvez choisir un répertoire dans votre répertoire personnel, par exemple ~/software/stow
. Dans ce cas, ajoutez ~/software/bin
à votre PATH
. Si vous man
ne trouvez pas automatiquement les pages de manuel, ajoutez-les ~/software/man
à votre MANPATH
. Ajoutez ~/software/info
à votre INFOPATH
, ~/software/lib/python
à votre PYTHONPATH
, et ainsi de suite, le cas échéant.