GNU/Linux >> Znalost Linux >  >> Linux

Kde je konvenční místo pro ukládání git repozitářů ve stromu souborového systému linux?

Řešení 1:

Není zde žádná správná nebo špatná odpověď kromě té, kterou diktuje vaše osobní náboženství a obsah hier(7) manpage ve vašem systému.

typický Linux hier manuálová stránka; typické BSD hier manuálová stránka)

/var/git/* mě osobně přijde rozumné. To je místo, kde si schovávám své.

Řešení 2:

Umístěte jej do adresáře (nebo sdíleného souborového systému) pod /srv . K tomu slouží.

/srv adresář je určen pro data specifická pro lokalitu obsluhovaná systémem. Ze standardu:

Hlavním účelem specifikace je to, aby uživatelé mohli najít umístění datových souborů pro konkrétní službu a aby služby, které vyžadují jeden strom pro data pouze pro čtení, zapisovatelná data a skripty (jako jsou skripty cgi), mohly být rozumně umístěny. Data, která zajímají pouze konkrétního uživatele, by měla jít do domovského adresáře tohoto uživatele.

Metodika použitá k pojmenování podadresářů /srv není specifikováno, protože v současné době neexistuje shoda o tom, jak by to mělo být provedeno. Jedna metoda pro strukturování dat pod /srv je protokolem, např. ftp , rsync , www a cvs . Na velkých systémech může být užitečné strukturovat /srv podle administrativního kontextu, jako je /srv/physics/www , /srv/compsci/cvs ,atd. Toto nastavení se bude lišit hostitel od hostitele. Žádný program by se proto neměl spoléhat na konkrétní podadresářovou strukturu /srv existující ordata jsou nutně uložena v /srv . Nicméně /srv by měl vždy existovat v systémech vyhovujících FHS a měl by být použit jako výchozí umístění pro taková data.

Distribuce musí dbát na to, aby neodstranily lokálně umístěné soubory v těchto adresářích bez povolení správce.

V systému s podporou SELinux je výchozí adresář /var/www/git , a repo by měly být v jejich podadresářích. Nebo můžete použít např. /srv/git a nastavte kontext souboru na ekvivalentní:

semanage fcontext -a -e /var/www/git /srv/git

Řešení 3:

/home/git/

To se může na první pohled zdát trochu nekonvenční, ale je to velmi rozumné, protože tento adresář je vytvořen pro vás (se správnými oprávněními), když uděláte sudo useradd git . Stačí se přepnout na uživatele git, cd a okamžitě spustit:

$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys

a vložte veřejné klíče svých kolegů do právě vytvořeného souboru author_keys.

Poté, co git init --bare váš projekt, "url" je pak jen...čekejte na to...

[email protected]<server>:<project>

Řešení 4:

Na mém Arch Linuxu mám /srv/http pro apache (což je výchozí nastavení systému) a používám ho také pro své servery node.js http. Podobně jsem se rozhodl umístit všechny git repozitáře do /srv/git .

Používám GitLab a /srv/git je v tomto případě domovská složka pro git.

Nakonec je to na vás. Zjistil jsem, že držet se formátu podobného ostatním službám ve vaší distribuci je snadno zapamatovatelné.


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Linux – jaké souborové systémy v systému Linux ukládají dobu vytvoření?

  3. Linux – Proč v systému není přítomen žádný souborový systém Rootfs?

  1. Linux – jak často je systém souborů Proc aktualizován v systému Linux?

  2. Porozumění systému souborů sysfs (/sys) v Linuxu

  3. Jaké souborové systémy v Linuxu ukládají čas vytvoření?

  1. Jak najít nejstarší soubor ve stromu adresářů v Linuxu

  2. Úvod do souboru Linux /etc/fstab

  3. Kde najdu verzi zdrojového stromu linuxového jádra?