GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So entfernen Sie Programme, die mit GNU Stow in Linux aus der Quelle installiert wurden

Manchmal müssen Sie einige Programme installieren, indem Sie sie manuell aus der Quelle kompilieren. Da sie möglicherweise nicht in den offiziellen oder Drittanbieter-Repositories verfügbar sind, können Sie sie nicht mit den regulären Paketmanagern installieren. Wie Sie vielleicht bereits wissen, werden die Paketdateien bei der Installation von Programmen aus dem Quellcode an mehrere Speicherorte kopiert, z. B. /usr/local/bin , /usr/local/etc/ , auf dem Dateisystem. Wenn das installierte Programm aus dem Quellcode kein integriertes Deinstallationsprogramm hat, wird es eine mühsame Aufgabe, die Pakete zu entfernen, wenn Sie es nicht mehr benötigen. Möglicherweise müssen Sie einige (oder mehrere) Minuten aufwenden, um diese Paketdateien zu finden und sie manuell zu entfernen. Das habe ich getan, bis ich auf ein Dienstprogramm namens "GNU Stow" gestoßen bin . Glücklicherweise hat Stow eine einfache Möglichkeit, Programme, die von der Quelle installiert wurden, einfach zu verwalten.

Um die offizielle Website zu zitieren,

Um es einfach auszudrücken, Stow hilft Ihnen, die Paketdateien so zu organisieren, dass sie leicht zu verwalten sind. Bei dieser Methode werden die Dateien nicht an mehrere Speicherorte kopiert. Stattdessen werden alle Dateien in einem bestimmten Ordner gespeichert, normalerweise unter dem Programmnamen selbst, und Stow erstellt symbolische Links zu allen Programmdateien an den entsprechenden Stellen. Beispiel:/usr/local/bin könnte symbolische Links zu Dateien in /usr/local/stow/vim/bin enthalten , /usr/local/stow/python/bin etc., und ebenso rekursiv für beliebige andere Unterverzeichnisse wie .../share , .../man , und so weiter. In diesem Tutorial zeige ich Ihnen anhand eines praktischen Beispiels, wie Sie mit Stow aus dem Quellcode installierte Programme einfach verwalten können. Lesen Sie weiter.

Installieren Sie GNU Stow unter Linux

GNU Stow ist in den Standard-Repositorys gängiger Linux-Betriebssysteme verfügbar.

Auf Arch Linux und seinen Varianten führen Sie den folgenden Befehl aus, um Stow zu installieren.

$ sudo pacman -S stow

Auf Debian , Ubuntu , Linux Mint , Pop OS :

$ sudo apt install stow

Auf Fedora :

$ sudo dnf install stow

Unter RHEL/CentOS , AlmaLinux , und Rocky Linux :

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

Entfernen Sie Programme, die mit Stow unter Linux aus dem Quellcode installiert wurden

Wie ich bereits früher erwähnt habe, werden alle Programmdateien eines Pakets in einem Stammordner gespeichert, der sich in /usr/local/stow/ befindet . Unter diesem Stamm- oder übergeordneten Verzeichnis wird jedes Paket in einem eigenen privaten Unterverzeichnis gespeichert. Zum Beispiel, wenn wir Vim installieren Editor aus dem Quellcode, alle Programmdateien und Verzeichnisse, die Vim betreffen, werden unter /usr/local/stow/vim gespeichert Mappe. Wenn Sie python installieren Von der Quelle aus werden alle Dateien, die sich auf Python beziehen, unter /usr/local/stow/python aufbewahrt und so weiter.

Lassen Sie mich ein Programm installieren, zum Beispiel hello , aus der Quelle.

Laden Sie zuerst den Tarball des „hello“-Programms herunter.

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

Extrahieren Sie den heruntergeladenen Tarball mit dem Befehl:

$ tar -zxvf hello-2.10.tar.gz

Der obige Befehl erstellt ein Verzeichnis namens „hello-2.10“ im aktuellen Arbeitsverzeichnis und extrahiert alle darin enthaltenen Inhalte.

Wechseln Sie in das entpackte Verzeichnis:

$ cd hello-2.10/

Führen Sie den folgenden Befehl mit der Option --prefix aus.

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

Der obige Befehl speichert die Build-Dateien am angegebenen Ort, z. B. /usr/local/stow/hello in unserem Fall.

Erstellen und installieren Sie schließlich das Hello-Programm mit den folgenden Befehlen:

$ make
$ sudo make install

Das ist es. Das Hello-Programm wurde in /usr/local/stow/hello/ installiert Lage. Sie können es wie unten gezeigt mit dem Befehl 'ls' überprüfen.

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

Gehen Sie schließlich zu /usr/local/stow/ Verzeichnis und führen Sie den folgenden Befehl aus, um die erforderlichen symbolischen Links zu generieren.

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

Alles erledigt!

Was gerade passiert ist, ist, dass alle Dateien und Verzeichnisse, die im hello-Paket enthalten sind, symbolisch mit dem Verzeichnis /usr/local/ verknüpft wurden . Mit anderen Worten:/usr/local/stow/hello/bin wurde symbolisch mit /usr/local/bin verknüpft und /usr/local/stow/hello/share wurde symbolisch mit /usr/local/share verknüpft und /usr/local/stow/hello/share/man wurde symbolisch mit /usr/local/share/man verknüpft und so weiter.

Sie können sie mit 'ls' verifizieren Befehl:

$ ls /usr/local/bin/
hello

Lassen Sie uns überprüfen, ob das Hello-Programm funktioniert oder nicht, indem Sie den Befehl verwenden:

$ hello
Hello, world!

Ja, es funktioniert!!

Ebenso können Sie Programme wie oben beschrieben in einem eigenen Unterverzeichnis installieren.

Hier ist der Inhalt des Stow-Stammverzeichnisses:

$ tree /usr/local/stow/

Sehen? Das Hello-Programm wird in "/usr/local/stow/hello/" installiert Lage. Ebenso werden alle Pakete in ihrem eigenen Verzeichnis aufbewahrt.

Hier kommt der Hauptteil. Lassen Sie uns das Hello-Programm entfernen. Gehen Sie dazu zu /usr/local/stow/ Verzeichnis:

$ cd /usr/local/stow/

..und führen Sie den folgenden Befehl aus:

$ sudo stow --delete hello

Das Hallo-Programm wurde gerade entfernt. Sie können mit dem Befehl überprüfen, ob es wirklich entfernt wurde oder nicht:

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

Sehen? Hello-Programm wurde entfernt!

Bitte beachten Sie, dass Stow nur die Symlinks entfernt hat. Alle Programmdateien und Verzeichnisse, die sich auf das Hello-Programm beziehen, sind weiterhin unter /usr/local/stow/hello verfügbar Mappe. So können Sie das Hello-Programm erneut installieren, ohne die eigentliche Quelldatei herunterladen zu müssen.

Wenn Sie das Hello-Programm nicht mehr benötigen, löschen Sie einfach seinen Ordner.

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

Weitere Informationen zu Stow finden Sie auf den Manpages.

$ man stow

Schlussfolgerung

GNU Stow hilft Ihnen, die Programme so einfach zu deinstallieren, wie Sie sie installieren. Wenn Sie sich fragen, wie Sie viele aus dem Quellcode installierte Programme effektiv verwalten können, ist GNU Stow ein solches Programm, das diese Aufgabe viel einfacher macht. Probieren Sie es aus, Sie werden nicht enttäuscht sein.


Linux
  1. So installieren Sie das neueste GNU Nano unter Linux

  2. Installieren Sie Apache 2 von Source unter Linux

  3. So installieren Sie SQLite3 aus der Quelle unter Linux (mit einer Beispieldatenbank)

  4. So installieren Sie MongoDB von der Quelle (und mit YUM) unter Linux

  5. Wie man TBB von der Quelle unter Linux installiert und zum Laufen bringt

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So installieren Sie Software von der Quelle in Linux

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So installieren Sie Software aus dem Quellcode … und entfernen sie anschließend

So deinstallieren Sie Programme von Ubuntu Linux

So installieren Sie Software aus dem Quellcode in Ihrem Linux-System