So verwenden Sie GNU Stow, um Programme zu verwalten, die von Source und Dotfiles installiert sind

So verwenden Sie GNU Stow, um Programme zu verwalten, die von Source und Dotfiles installiert sind

Zielsetzung

Verwalten Sie problemlos Programme, die mit Gnu Stow von Source und Dotfiles installiert wurden

Anforderungen

  • Wurzelberechtigungen

Schwierigkeit

EINFACH

Konventionen

  • # - Erfordert, dass gegebene Linux -Befehle entweder mit Root -Berechtigungen ausgeführt werden müssen
    direkt als Stammbenutzer oder durch Verwendung von sudo Befehl
  • $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Einführung

Manchmal müssen wir Programme aus Quelle installieren: Vielleicht sind sie nicht über Standardkanäle verfügbar, oder wir möchten eine bestimmte Version einer Software. Gnu Stow ist sehr schön Symlinks Factory Programm, das uns sehr hilft, indem Dateien in einer sehr sauberen und einfach zu pflegenden Weise organisiert werden.

Stow erhalten

Ihre Verteilungsrepositories enthalten sehr wahrscheinlich verstauen, Zum Beispiel in Fedora müssen Sie alles tun, um es zu installieren, ist:

# DNF Install Stow installieren

oder auf Ubuntu/Debian können Sie Stow durch Ausführung installieren:

# APT STOW Installieren Sie Stow 

In einigen Verteilungen ist Stow in Standard -Repositories nicht verfügbar, kann jedoch leicht durch Hinzufügen einiger zusätzlicher Softwarequellen (z. erfordert sehr wenig Abhängigkeiten.

Stow aus Quelle zusammenstellen

Die neueste verfügbare Stow -Version ist die 2.2.2: Der Tarball kann hier heruntergeladen werden: https: // ftp.Gnu.org/gnu/stow/.

Sobald Sie die Quellen heruntergeladen haben, müssen Sie den Tarball extrahieren. Navigieren Sie zu dem Verzeichnis, in dem Sie das Paket heruntergeladen haben, und reiten Sie einfach aus:

$ tar -xvpzf stow -2.2.2.Teer.gz

Nachdem die Quellen extrahiert wurden, navigieren Sie innerhalb des Stow-2.2.2 Verzeichnis, und um das Programm einfach zu kompilieren

$ ./Konfigurieren Sie $ make 

Zum Schluss das Paket zu installieren:

# Installation machen

Standardmäßig wird das Paket in der installiert /usr/local/ Verzeichnis, aber wir können dies ändern und das Verzeichnis über die angeben --Präfix Option des Skripts konfigurieren oder durch Hinzufügen Präfix = "/Your/dir" " Beim Ausführen der Installation machen Befehl.

An diesem Punkt sollten wir, wenn alle wie erwartet funktionieren verstauen auf unserem System installiert

Wie funktioniert Stow??

Das Hauptkonzept hinter Stow ist im Programmhandbuch sehr gut erklärt:

Der von Stow verwendete Ansatz besteht darin, jedes Paket in seinen eigenen Baum zu installieren und dann symbolische Links zu verwenden, damit die Dateien im gemeinsamen Baum installiert sind. 

Um die Arbeit des Pakets besser zu verstehen, analysieren wir seine Schlüsselkonzepte:

Das Stow -Verzeichnis

Das Stow -Verzeichnis ist das Stammverzeichnis, das alle enthält Stow -Pakete, jeweils mit ihrem eigenen privaten Subtree. Das typische Stow -Verzeichnis ist /usr/lokal/stow: Innerhalb davon repräsentiert jedes Unterverzeichnis a Paket

Stow -Pakete

Wie oben erwähnt, enthält das Stow -Verzeichnis „Pakete“, jeweils in einem eigenen separaten Unterverzeichnis, das normalerweise nach dem Programm selbst benannt ist. Ein Paket ist nichts weiter als eine Liste von Dateien und Verzeichnissen im Zusammenhang mit einer bestimmten Software, die als Entität verwaltet wird.

Das Stow -Zielverzeichnis

Das Stow -Zielverzeichnis ist sehr ein einfaches Konzept zu erklären. Es ist das Verzeichnis, in dem die Paketdateien anscheinend installiert werden müssen. Standardmäßig gilt das Stow -Zielverzeichnis als das über dem Verzeichnis, in dem Stow aufgerufen wird. Dieses Verhalten kann leicht durch die Verwendung der verwendet werden -T Option (kurz für -target), mit der wir ein alternatives Verzeichnis angeben können.

Ein praktisches Beispiel

Ich glaube, ein gut gemachtes Beispiel ist 1000 Wörter wert. Zeigen wir also, wie Stow funktioniert. Angenommen, wir wollen kompilieren und installieren libx264. Lassen Sie uns das Git -Repository mit seinen Quellen klonen:

$ git klone git: // git.Videolan.org/x264.Git

Wenige Sekunden nach dem Ausführen des Befehls wird das Verzeichnis „x264“ erstellt und enthält die Quellen, die zusammengestellt werden können. Wir navigieren jetzt darin und laufen die konfigurieren Skript, Angabe des Verzeichnisses/usr/lokal/stow/libx264 als --Präfix:

$ cd x264 && ./configure -prefix =/usr/local/stow/libx264

Dann erstellen wir das Programm und installieren es:

$ mach # mach installieren 

Das Verzeichnis x264 hätte im Stow -Verzeichnis erstellt werden sollen: Es enthält alle Dinge, die normalerweise direkt im System installiert worden wären. Jetzt müssen wir nur noch Stow aufrufen. Wir müssen den Befehl entweder aus dem Stow -Verzeichnis ausführen, indem wir die verwenden -D Option, den Pfad zum Stow -Verzeichnis manuell anzugeben (Standard ist das aktuelle Verzeichnis) oder durch Angeben des Ziels mit -T Wie bereits erwähnt. Wir sollten auch den Namen des Pakets angeben, das als Argument verstaut werden soll. In diesem Fall führen wir das Programm aus dem Stow -Verzeichnis aus, sodass wir nur tippen müssen::

# Stow libx264

Alle Dateien und Verzeichnisse, die im LIBX264 -Paket enthalten sind /usr/local/stow/x264/bin sind jetzt symlaut in /usr/local/bin, Dateien in /usr/local/stow/x264/etc sind jetzt symlaut in /usr/lokal/etc usw. Auf diese Weise erscheint es dem System, dass die Dateien normal installiert wurden, und wir können jedes Programm, das wir zusammenstellen und installieren. Um die Aktion wiederzuverwenden, verwenden wir nur die -D Möglichkeit:

# Stow -d libx264

Es ist vollbracht! Die Symlinks existieren nicht mehr: Wir haben nur ein Stow -Paket „deinstalliert“ und unser System in einem sauberen und konsistenten Zustand behalten. An diesem Punkt sollte klar sein, warum Stow es auch zum Verwalten von Dotfiles verwendet hat. Eine übliche Praxis besteht darin, alle benutzerspezifischen Konfigurationsdateien in einem Git-Repository zu haben, sie einfach zu verwalten und überall verfügbar zu haben und dann Stow zu verwenden, um sie gegebenenfalls im Benutzer-Home-Verzeichnis zu platzieren.

Stow hindert Sie auch nicht aus Versehen daran, Dateien zu überschreiben: Es wird sich weigert, symbolische Links zu erstellen, wenn die Zieldatei bereits vorhanden ist, und verweist nicht auf ein Paket in das Stow -Verzeichnis. Diese Situation wird als Konflikt in der Stow -Terminologie bezeichnet.

Das ist es! Für eine vollständige Liste der Optionen wenden Sie sich bitte an die Stow -Manpage und vergessen Sie nicht, uns Ihre Meinung dazu in den Kommentaren zu informieren.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Zurücksetzen Gnome Desktop -Einstellungen in Ubuntu auf Werksausstellungen auf…
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Ubuntu 20.04 Tricks und Dinge, die Sie vielleicht nicht wissen
  • Kann Linux Viren bekommen?? Erforschung der Verwundbarkeit von Linux…
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Mastering -Bash -Skriptschleifen beherrschen
  • Linux -Download