Toto je starší verze dokumentu!
Stow
Úvod
Příkaz stow je užitečný nástroj pro správu symbolických odkazů (symlinků). Umožňuje uživateli uchovávat konfigurační soubory v jednom centrálním adresáři, například pro správu v Git repozitáři. Tento adresář je často nazýván dotfiles, což je konvence odkazující na skryté soubory v Unixových systémech, které obvykle začínají tečkou (např. `.bashrc`).
Doporučené konvence
Dotfiles:
- Obsahují konfigurační soubory pro systém a aplikace.
- Standardizovaný název dotfiles usnadňuje spolupráci mezi uživateli.
- Typicky se spravují v domovském adresáři pomocí verzovacího systému Git.
Příklad adresářové struktury
- dotfiles
- .git
- README.md
- kamery
- Kamery
- jednakamera.strm
- druhakamera.strm
- kodi
- .kodi
- userdata
- profiles.xml
- sources.xml
Použití
Symbolické odkazy lze vytvořit pro všechny složky v adresáři příkazem:
stow */
V mém případě dojde k následujícímu vytvoření symbolických odkazů v domovském adresáři:
- ~/Kamery/jednakamera.strm → dotfiles/kamery/Kamery/jednakamera.strm
- ~/Kamery/druhakamera.strm → dotfiles/kamery/Kamery/druhakamera.strm
- ~/.kodi/userdata/profiles.xml → dotfiles/kodi/.kodi/userdata/profiles.xml
- ~/.kodi/userdata/sources.xml → dotfiles/kodi/.kodi/userdata/sources.xml
Soubory jako `README.md` nebo adresář `.git` jsou automaticky ignorovány, protože je stow má nastavené jako výjimky.
Pro odstranění vytvořených symbolických odkazů lze použít příkaz:
stow -D */
Mapování po modulech
Pokud nechcete mapovat všechny složky naráz, můžete zvolit konkrétní modul, například složku kodi:
stow kodi
Tento příkaz vytvoří symbolické odkazy pouze pro obsah složky kodi:
- ~/.kodi/userdata/profiles.xml → dotfiles/kodi/.kodi/userdata/profiles.xml
- ~/.kodi/userdata/sources.xml → dotfiles/kodi/.kodi/userdata/sources.xml
Práce s domovskou složkou
Ve výchozím nastavení stow předpokládá, že symbolické odkazy budou vytvořeny v domovském adresáři (`~`).
Použití bez domovské složky
Pokud nechcete používat domovskou složku, můžete definovat jiný cílový adresář pomocí přepínače `-t`:
stow -t /cesta/k/cilovemu/adresari */