it:software:git:stow

Toto je starší verze dokumentu!


Stow

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`).

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.
  • dotfiles
    • .git
    • README.md
    • kamery
      • Kamery
        • jednakamera.strm
        • druhakamera.strm
    • kodi
      • .kodi
        • userdata
          • profiles.xml
          • sources.xml

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:

  1. ~/Kamery/jednakamera.strm → dotfiles/kamery/Kamery/jednakamera.strm
  2. ~/Kamery/druhakamera.strm → dotfiles/kamery/Kamery/druhakamera.strm
  3. ~/.kodi/userdata/profiles.xml → dotfiles/kodi/.kodi/userdata/profiles.xml
  4. ~/.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 */

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:

  1. ~/.kodi/userdata/profiles.xml → dotfiles/kodi/.kodi/userdata/profiles.xml
  2. ~/.kodi/userdata/sources.xml → dotfiles/kodi/.kodi/userdata/sources.xml

Ve výchozím nastavení stow předpokládá, že symbolické odkazy budou vytvořeny v domovském adresáři (`~`).

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 */
  • it/software/git/stow.1736069855.txt.gz
  • Poslední úprava: 2025/01/05 09:37
  • autor: Petr Nosek