Si je fais une analogie avec l'hébergement d'un serveur web, je dirais que les données de git devraient se trouver dans /var/git
Ainsi, mon dépôt git se trouve à l'adresse suivante /var/git/myrepo
Q : Est-ce que c'est le bon choix ?
Si je fais une analogie avec l'hébergement d'un serveur web, je dirais que les données de git devraient se trouver dans /var/git
Ainsi, mon dépôt git se trouve à l'adresse suivante /var/git/myrepo
Q : Est-ce que c'est le bon choix ?
Placez-la dans un répertoire (ou un système de fichiers partagé) sous /srv
. C'est à ça que ça sert.
El /srv
est destiné à les données spécifiques au site desservi par le système . De la norme :
L'objectif principal de cette spécification est de permettre aux utilisateurs de trouver le fichier l'emplacement des fichiers de données pour un service particulier, et de sorte que les services qui nécessitent un seul arbre pour les données en lecture seule, les données en écriture et scripts (tels que cgi scripts) puissent être raisonnablement placés. Les données qui n'intéressent qu'un utilisateur spécifique doivent être placées dans son répertoire de cet utilisateur.
La méthode utilisée pour nommer les sous-répertoires de l'application
/srv
n'est pas spécifié comme il n'y a actuellement aucun consensus sur la manière de procéder. Une méthode pour structurer les données sous/srv
se fait par protocole, par exempleftp
,rsync
,www
, etcvs
. Sur les grands systèmes, il peut être utile de structurer/srv
par contexte administratif, comme/srv/physics/www
,/srv/compsci/cvs
, etc. Cette configuration sera différente d'un hôte à l'autre. Par conséquent, aucun programme ne devrait s'appuyer sur une structure de sous-répertoire spécifique de/srv
existant ou données nécessairement stockées dans/srv
. Cependant/srv
devrait toujours exister sur les systèmes conformes au FHS et devraient être utilisés comme 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. ces répertoires sans l'autorisation de l'administrateur.
Sur un système SELinux, le répertoire par défaut est le suivant /var/www/git
et les dépôts doivent être dans des sous-répertoires de ceux-ci. Ou bien, vous pouvez utiliser, par exemple, les éléments suivants /srv/git
et définir le contexte du fichier pour qu'il soit équivalent :
semanage fcontext -a -e /var/www/git /srv/git
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 de la hier(7)
sur votre système.
Linux typique hier
page d'accueil ; BSD typique hier
page d'accueil )
/var/git/*
me semble raisonnable, personnellement. C'est là que je garde le mien.
/home/git/
Cela peut sembler peu conventionnel au premier abord mais c'est très raisonnable car ce répertoire est créé pour vous (avec les bonnes permissions) lorsque vous faites sudo useradd git
. Vous pouvez simplement passer à l'utilisateur git, cd
et courir immédiatement :
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
et mettez les clés publiques de vos pairs dans le fichier authorized_keys qui vient d'être créé.
Après vous git init --bare
votre projet, l'"url" est alors juste... attendez...
git@<server>:<project>
Comme l'a dit voretaq7, il n'y a pas de bonne ou de mauvaise réponse sur un tel sujet. Cependant, si vous voulez suivre l'évolution des softs, il semble que les softs de base de données stockent leurs données en
/var/lib/soft
Par exemple, pour Postgresql 9.1 sur debian, le dossier est le suivant
/var/lib/postgresql/9.1/
Je choisirais donc personnellement
/var/lib/git
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 mettre tous les dépôts git dans le répertoire /srv/git
.
J'utilise GitLab, et /srv/git
est le dossier de base de git dans ce cas également.
En fin de compte, c'est vous qui décidez. J'ai trouvé que s'en tenir à un format similaire à celui des autres services de votre distro est facile à retenir.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.