====== Stow ====== ===== Úvod ===== Příkaz **stow** je nástroj pro správu symbolických odkazů (symlinků), který umožňuje efektivně organizovat a propojit konfigurační soubory s jejich cílovým umístěním. Typicky se používá v kombinaci s adresářem obsahujícím konfigurační soubory, často nazývaným **dotfiles**. ===== Doporučené konvence ===== Pojmenování adresáře **dotfiles** je neformální standard používaný v komunitě správců Linuxu a Unixu pro úložiště uživatelských konfigurací. Název odkazuje na tradiční „dotfiles“ – soubory začínající tečkou (.), které jsou běžně skryté v domovském adresáři, například `.bashrc` nebo `.vimrc`. **Proč používat název dotfiles?** - **Komunitní standard**: * Adresář s názvem dotfiles okamžitě signalizuje, že obsahuje vaše konfigurační soubory. * Nástroje jako GitHub, GitLab a různé skripty často očekávají, že repozitář s názvem dotfiles bude obsahovat konfigurace. - **Znalostní zkratka**: * Sdílení repozitáře dotfiles ostatním umožňuje rychle identifikovat vaše nastavení, což usnadňuje spolupráci a inspiraci. - **Flexibilita**: * Dotfiles mohou obsahovat nejen soubory začínající tečkou, ale i další složky a konfigurace. - **Tradice a zdroje**: * Použití tohoto názvu usnadňuje využití komunitních zdrojů, návodů a projektů zaměřených na správu dotfiles. ===== 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 */ ===== Ignorování některých souborů ===== Do složky lze přidat sloubor .stow-local-ignore do kterého zadám, že chci ignorovat některé symlinky. Mám například složku certs, do ní jsem nahrál soubor .stow-local-ignore a do něj jsem vložil zástupné znaky, aby se ignorovaly všechny soubory ve složce. .* Při hromadném mapování složek stow */ Mi tedy nejsou namapovány soubory ve složce, kde je právě soubor .stow-local-ignore.