Zum Inhalt springen

GNU Stow: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zeile 12: Zeile 12:
Mittels des Befehls {{ic|stow}} lässt sich GNU Stow dann aufrufen.
Mittels des Befehls {{ic|stow}} lässt sich GNU Stow dann aufrufen.


== Verwendung ==
== Verhalten von {{ic|stow}} ==
Standardmäßig benutzt GNU Stow das aktuelle Verzeichnis als ''Stow Directory'', aus dem heraus die ''Packages'' ausgerollt werden. Zum Ausrollen wird standardmäßig das Elternverzeichnis benutzt. Wenn also zum Beispiel {{ic|/home/user/.dotfiles}} als ''Stow Directory'' benutzt wird, ist das ''Target Directory'' automatisch {{ic|/home/user/}}.
Standardmäßig benutzt GNU Stow das aktuelle Verzeichnis als ''Stow Directory'', aus dem heraus die ''Packages'' ausgerollt werden. Zum Ausrollen wird standardmäßig das Elternverzeichnis benutzt. Wenn also zum Beispiel {{ic|/home/user/.dotfiles}} als ''Stow Directory'' benutzt wird, ist das ''Target Directory'' automatisch {{ic|/home/user/}}.


Zeile 30: Zeile 30:


Dies hat den selben Effekt wie der beschriebene Alias, sofern man vor dem Aufruf ins Verzeichnis {{ic|/home/user/.config/dotfiles/}} wechselt.
Dies hat den selben Effekt wie der beschriebene Alias, sofern man vor dem Aufruf ins Verzeichnis {{ic|/home/user/.config/dotfiles/}} wechselt.


=== Dateien Verwalten ===
=== Dateien Verwalten ===

Version vom 28. Januar 2025, 13:58 Uhr

„GNU Stow“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.


Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


GNU Stow ist ein „Symlinkfarm-Manager“, mit dem es möglich ist, Dateien und Verzeichnisse aus verschiedenen Pfaden an einer Stelle zu verwalten. Das Programm wird meistens dazu verwendet, um Dotfiles gesammelt an einer Stelle zu haben um sie einfacher mittels Git versionieren zu können.

Installation

GNU Stow ist als stow in extra verfügbar, und kann von dort mittels Pacman installiert werden.

# GNU Stow an sich
pacman -S stow

# Für die Versionierung
pacman -S git

Mittels des Befehls stow lässt sich GNU Stow dann aufrufen.

Verhalten von stow

Standardmäßig benutzt GNU Stow das aktuelle Verzeichnis als Stow Directory, aus dem heraus die Packages ausgerollt werden. Zum Ausrollen wird standardmäßig das Elternverzeichnis benutzt. Wenn also zum Beispiel /home/user/.dotfiles als Stow Directory benutzt wird, ist das Target Directory automatisch /home/user/.

Diese Konfiguration lässt sich mittels der Parameter --dir (das Stow Directory) und --target (für das Target Directory) anpassen. Wenn nur --dir angegeben wird, wird als Target Directory automatisch das Elternverzeichnis des angegebenen Verzeichnisses benutzt.

Der Einfachheit halber kann man sich hier auch einen Alias setzen, wenn man sowieso nur seine Dotfiles verwalten will.

alias stow="/usr/bin/stow --dir /home/user/.config/dotfiles --target /home/user"

Hiermit wird /home/user/.config/dotfiles als Stow Directory benutzt in dem die Packages liegen, und /home/user ist das Target Directory in dem „gerarbeitet wird“, wo also die Symlinks angelegt werden, die durch GNU Stow verwaltet werden. Alle Beispiele hier im Wiki gehen davon aus, dass /home/user/.config/dotfiles/ als Stow Directory benutzt wird, und /home/user das Target Directory ist, und ein Alias gesetzt wurde der dies definiert.

Alternativ kann im gewünschten Stow Directory eine Datei angelegt werden, in der Konfigurationsoptionen abgelegt werden können. Vor dem Aufruf von stow muss man dann in das Verzeichnis wechseln. Dies ermöglicht die einfachere Verwaltung verschiedener Stow-Repositorys.

/home/user/.config/dotfiles/.stowrc
--dir /home/user/.config/dotfiles
--target /home/user

Dies hat den selben Effekt wie der beschriebene Alias, sofern man vor dem Aufruf ins Verzeichnis /home/user/.config/dotfiles/ wechselt.

Dateien Verwalten

Die Verwaltung von Dateien erfolgt innerhalb von GNU Stow in Packages, dies sind einfache Verzeichnisse auf oberer Ebene innerhalb des Stow Directorys. Innerhalb dieser Packages werden die Dateien als Installation Image verwaltet. Ein Installation Image ist dabei die Struktur an Dateien und Verzeichnissen, wie sie später im Target Directory vorhanden sein soll.

„Ausrollen“ der ge-stow-ten Dateien

Das Stow-Repository „sauber halten“

Versionierung mit Git

Siehe auch

Weblinks