GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer des programmes installés à partir de la source à l'aide de GNU Stow sous Linux

Parfois, vous devez installer certains programmes en compilant manuellement à partir des sources. Parce qu'ils peuvent ne pas être disponibles dans les référentiels officiels ou tiers, vous ne pouvez donc pas les installer à l'aide des gestionnaires de packages habituels. Comme vous le savez peut-être déjà, lorsque vous installez des programmes à partir de la source, les fichiers du package seront copiés à plusieurs emplacements, tels que /usr/local/bin , /usr/local/etc/ , sur le système de fichiers. Si le programme installé à partir de la source n'a pas de programme de désinstallation intégré, il sera fastidieux de supprimer les packages lorsque vous n'en aurez plus besoin. Vous devrez peut-être passer quelques (ou plusieurs) minutes pour trouver ces fichiers de package et les supprimer manuellement. C'est ce que j'ai fait jusqu'à ce que je tombe sur un utilitaire nommé "GNU Stow" . Heureusement, Stow dispose d'un moyen simple de gérer facilement les programmes installés à partir de la source.

Pour citer le site officiel,

Pour faire simple, Stow vous aide à organiser les fichiers du package de manière à ce qu'ils soient facilement gérables. Dans cette méthode, les fichiers ne seront pas copiés à plusieurs emplacements. Au lieu de cela, tous les fichiers sont enregistrés dans un dossier spécifique, généralement sous le nom du programme lui-même, et Stow crée des liens symboliques vers tous les fichiers des programmes aux endroits appropriés. Par exemple, /usr/local/bin peut contenir des liens symboliques vers des fichiers dans /usr/local/stow/vim/bin , /usr/local/stow/python/bin etc., et de même récursivement pour tous les autres sous-répertoires tels que .../share , .../man , etc. Dans ce tutoriel, je vais vous montrer comment gérer facilement les programmes installés depuis la source à l'aide de Stow avec un exemple pratique. Continuez à lire.

Installer GNU Stow sous Linux

GNU Stow est disponible dans les dépôts par défaut des systèmes d'exploitation Linux populaires.

Sur Arch Linux et ses variantes, exécutez la commande suivante pour installer Stow.

$ sudo pacman -S stow

Sur Debian , Ubuntu , Linux Mint , Pop OS :

$ sudo apt install stow

Sur Fedora :

$ sudo dnf install stow

Sur RHEL/CentOS , AlmaLinux , et Rocky Linux :

$ sudo dnf install epel-release
$ sudo dnf install stow

Supprimez les programmes installés à partir de la source à l'aide de Stow sous Linux

Comme je l'ai déjà mentionné plus tôt, tous les fichiers de programme d'un paquet seront enregistrés dans un dossier racine situé dans /usr/local/stow/ . Sous ce répertoire racine ou parent, chaque package sera enregistré dans son propre sous-répertoire privé. Par exemple, si nous installons Vim editor à partir de la source, tous les fichiers de programme et répertoires liés à Vim seront enregistrés sous /usr/local/stow/vim dossier. Si vous installez python à partir de la source, tous les fichiers liés à python seront conservés sous /usr/local/stow/python et ainsi de suite.

Laissez-moi installer un programme, par exemple hello , à partir de la source.

Téléchargez d'abord l'archive tar du programme "hello".

$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz

Extrayez l'archive téléchargée à l'aide de la commande :

$ tar -zxvf hello-2.10.tar.gz

La commande ci-dessus créera un répertoire nommé 'hello-2.10' dans le répertoire de travail actuel et en extraira tout le contenu.

Basculez vers le répertoire extrait :

$ cd hello-2.10/

Exécutez la commande suivante avec l'option --prefix.

$ ./configure --prefix=/usr/local/stow/hello

La commande ci-dessus enregistrera les fichiers de construction à l'emplacement spécifié, c'est-à-dire /usr/local/stow/hello dans notre cas.

Enfin, compilez et installez le programme hello à l'aide des commandes suivantes :

$ make
$ sudo make install

C'est ça. Le programme hello a été installé dans /usr/local/stow/hello/ emplacement. Vous pouvez le vérifier avec la commande 'ls' comme indiqué ci-dessous.

$ ls /usr/local/stow/hello/
bin share

Enfin, allez dans le /usr/local/stow/ répertoire et exécutez la commande suivante pour générer les liens symboliques nécessaires.

$ cd /usr/local/stow/
$ sudo stow hello

Tout est fait !

Ce qui vient de se passer, c'est que tous les fichiers et répertoires contenus dans le package hello ont été liés symboliquement au répertoire /usr/local/ . En d'autres termes, /usr/local/stow/hello/bin a été lié symboliquement à /usr/local/bin et /usr/local/stow/hello/share a été lié symboliquement à /usr/local/share et /usr/local/stow/hello/share/man a été lié symboliquement à /usr/local/share/man et ainsi de suite.

Vous pouvez les vérifier en utilisant 'ls' commande :

$ ls /usr/local/bin/
hello

Vérifions si le programme hello fonctionne ou non en utilisant la commande :

$ hello
Hello, world!

Ouais, ça marche !!

De même, vous pouvez installer des programmes comme décrit ci-dessus dans son propre sous-répertoire.

Voici le contenu du répertoire racine de Stow :

$ tree /usr/local/stow/

Voir? Le programme hello est installé dans "/usr/local/stow/hello/" emplacement. De même, tous les packages seront conservés dans leur propre répertoire.

Voici la partie principale. Supprimons le programme hello. Pour ce faire, accédez à /usr/local/stow/ répertoire :

$ cd /usr/local/stow/

..et exécutez la commande suivante :

$ sudo stow --delete hello

Le programme hello vient d'être supprimé. Vous pouvez vérifier s'il est vraiment supprimé ou non avec la commande :

$ hello
-bash: /usr/local/bin/hello: No such file or directory

Voir? Le programme Hello est supprimé !

Veuillez noter que Stow a supprimé uniquement les liens symboliques. Tous les fichiers et répertoires de programme liés au programme hello sont toujours disponibles dans /usr/local/stow/hello dossier. Ainsi, vous pouvez réinstaller le programme hello sans avoir à télécharger le fichier source réel.

Si vous ne voulez plus du programme hello, supprimez simplement son dossier.

$ sudo rm -fr /usr/local/stow/hello/

Pour en savoir plus sur Stow, consultez les pages de manuel.

$ man stow

Conclusion

GNU Stow vous aide à désinstaller les programmes aussi facilement que vous les installez. Si vous vous demandez comment gérer efficacement de nombreux programmes installés à partir de la source, GNU Stow est l'un de ces programmes pour vous faciliter la tâche. Essayez-le, vous ne serez pas déçu.


Linux
  1. Comment ajouter ou supprimer un utilisateur d'un groupe sous Linux

  2. Comment déboguer des programmes C sous Linux à l'aide de gdb

  3. Comment installer phpMyAdmin sous Linux en utilisant le code source

  4. Comment installer SQLite3 à partir de la source sur Linux (avec un exemple de base de données)

  5. Comment installer MongoDB à partir de la source (et en utilisant YUM) sous Linux

Comment supprimer une commande de l'historique sous Linux

Comment installer un logiciel à partir de la source sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment installer un logiciel à partir du code source… et le supprimer ensuite

Comment désinstaller des programmes d'Ubuntu Linux

Comment installer un logiciel à partir du code source dans votre système Linux