Systemadministration

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

Schwierigkeit

EINFACH

Konventionen

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 es nicht in Standard -Repositories 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.

Wie man auf LAN aufwacht, unterstützte Host über das Netzwerk mit Linux
Wie man auf LAN aufwacht, unterstützte Host über das Netzwerk mit Linux...
Cisco CCNA - IP -Adressklasse B Range B
Netzwerkbits 16 verfügbare Netzwerkbits verfügbar (x) 10xxxxxx xxxxxxxx Hosts Hosts Dadurch lassen wir 14 Bits, die für die Anzahl der Netzwerke ausge...
Bildverarbeitung, lineare Dehnung und OpenCV
Um Objekte durch Untersuchung von Bildern zu erkennen, werden verschiedene Bildverarbeitungs- und Analysetechniken angewendet. Dieser Artikel beschrei...