GNU/Linux >> Tutoriels Linux >  >> Linux

Où est l'endroit conventionnel pour stocker les référentiels git dans une arborescence de système de fichiers Linux ?

Solution 1 :

Il n'y a pas de bonne ou de mauvaise réponse ici, sauf celle dictée par votre propre religion personnelle et le contenu du hier(7) page de manuel sur votre système.

Linux typique hier page de manuel ; typique BSD hier page de manuel)

/var/git/* me semble raisonnable personnellement. C'est là que je garde le mien.

Solution 2 :

Placez-le dans un répertoire (ou un système de fichiers partagé) sous /srv . C'est pour ça.

Le /srv Le répertoire est destiné aux données spécifiques au site servies par le système. De la norme :

L'objectif principal de cette spécification est que les utilisateurs puissent trouver l'emplacement des fichiers de données pour un service particulier, et que les services qui nécessitent une seule arborescence pour les données en lecture seule, les données inscriptibles et les scripts (tels que les scripts cgi) puissent être raisonnablement placés. Les données qui n'intéressent qu'un utilisateur spécifique doivent aller dans le répertoire personnel de cet utilisateur.

La méthodologie utilisée pour nommer les sous-répertoires de /srv n'est pas précisé car il n'existe actuellement aucun consensus sur la manière dont cela devrait être fait. Une méthode pour structurer les données sous /srv est par protocole, par ex. ftp , rsync , www ,et cvs . Sur les grands systèmes, il peut être utile de structurer /srv par contexte administratif, tel que /srv/physics/www , /srv/compsci/cvs ,etc. Cette configuration diffère d'un hôte à l'autre. Par conséquent, aucun programme ne doit s'appuyer sur une structure de sous-répertoires spécifique de /srv ordata existant nécessairement stocké en /srv . Cependant /srv doit toujours exister sur les systèmes conformes à la norme FHS et doit être utilisé comme emplacement par défaut pour ces données.

Les distributions doivent veiller à ne pas supprimer les fichiers placés localement dans ces répertoires sans l'autorisation de l'administrateur.

Sur un système compatible SELinux, le répertoire par défaut est /var/www/git , et les dépôts doivent se trouver dans leurs sous-répertoires. Ou, vous pouvez utiliser, par ex. /srv/git et définissez le contexte du fichier comme étant équivalent :

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

Solution 3 :

/home/git/

Cela peut sembler un peu peu conventionnel au début mais c'est très raisonnable car ce répertoire est fait pour vous (avec les bonnes permissions) lorsque vous faites sudo useradd git . Vous pouvez simplement passer à l'utilisateur git, cd et exécutez immédiatement :

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

et placez les clés publiques de vos pairs dans le fichier authorized_keys que vous venez de créer.

Après avoir git init --bare votre projet, "l'url" est alors juste... attendez-le...

[email protected]<server>:<project>

Solution 4 :

Sur mon Arch Linux j'ai /srv/http pour apache (qui est le système par défaut) et je l'utilise aussi pour mes serveurs http node.js. De même, j'ai décidé de simplement mettre tous les dépôts git dans /srv/git .

J'utilise GitLab et /srv/git est le dossier personnel de git dans ce cas également.

En fin de compte, c'est à vous de décider. J'ai trouvé qu'il est facile de se souvenir de s'en tenir à un format similaire à d'autres services de votre distribution.


Linux
  1. Comment trouver le fichier le plus ancien dans une arborescence de répertoires sous Linux

  2. Une introduction au fichier Linux /etc/fstab

  3. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  4. Linux - Pourquoi n'y a-t-il pas de système de fichiers Rootfs présent sur le système ?

  5. Où puis-je trouver la version d'une arborescence des sources du noyau Linux ?

Choisissez le meilleur système de fichiers pour votre Linux

Tout ce que vous devez savoir sur le système de fichiers Linux

Comprendre le fichier /etc/fstab sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Où puis-je trouver la première version du système d'exploitation Linux ?

Où se trouve le fichier php.ini sur un PC Linux/CentOS ?