Si hago una analogía con el alojamiento de un servidor web, diría que los datos de git deberían estar /var/git
, por lo que mi repositorio de git estaría en/var/git/myrepo
P : ¿Es esa la suposición correcta?
Si hago una analogía con el alojamiento de un servidor web, diría que los datos de git deberían estar /var/git
, por lo que mi repositorio de git estaría en/var/git/myrepo
P : ¿Es esa la suposición correcta?
Respuestas:
Aquí no hay una respuesta correcta o incorrecta, excepto la dictada por su propia religión personal y el contenido de la página de hier(7)
manual de su sistema.
página de hier
manual típica de Linux ; página de hier
manual típica de BSD )
/var/git/*
Me parece razonable personalmente. Ahí es donde guardo el mío.
Colóquelo en un directorio (o sistema de archivos compartido) debajo /srv
. Esto es para lo que sirve.
El /srv
directorio está destinado a los datos específicos del sitio que sirve el sistema . De la norma:
Este propósito principal de especificar esto es para que los usuarios puedan encontrar la ubicación de los archivos de datos para un servicio en particular, y para que los servicios que requieren un solo árbol para datos de solo lectura, datos escribibles y scripts (como scripts cgi) puedan ubicarse razonablemente. Los datos que solo son de interés para un usuario específico deben ir al directorio de inicio de ese usuario.
La metodología utilizada para nombrar subdirectorios de
/srv
no está especificada, ya que actualmente no hay consenso sobre cómo se debe hacer esto. Un método para estructurar datos bajo/srv
es por protocolo, por ejemplo.ftp
`rsync
`www
, ycvs
. En sistemas grandes, puede ser útil para estructurar/srv
por el contexto administrativo, como/srv/physics/www
,/srv/compsci/cvs
, etc. Esta configuración diferirá de un huésped a otro. Por lo tanto, ningún programa debe confiar en una estructura de subdirectorio específica de/srv
datos existentes o necesariamente almacenados en/srv
. Sin embargo/srv
, siempre debe existir en los sistemas compatibles con FHS y debe usarse como la ubicación predeterminada para dichos datos.Las distribuciones deben tener cuidado de no eliminar archivos colocados localmente en estos directorios sin permiso del administrador.
En un sistema habilitado para SELinux, el directorio predeterminado es /var/www/git
, y los repos deben estar en sus subdirectorios. O puede usar, por ejemplo, /srv/git
y configurar el contexto del archivo para que sea equivalente:
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
Esto puede parecer un poco poco convencional al principio, pero es muy razonable ya que este directorio está hecho para usted (con los permisos correctos) cuando lo hace sudo useradd git
. Simplemente puede cambiar al usuario git cd
e inmediatamente ejecutar:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
y coloque las claves públicas de sus pares en el archivo recién autorizado autorizado_keys.
Después de git init --bare
su proyecto, la "url" es solo ... espere ...
git@<server>:<project>
Como dijo voretaq7, no existe una respuesta correcta o incorrecta sobre dicho tema. Sin embargo, si desea seguir los softs, parece que los softs de la base de datos almacenan sus datos en
/var/lib/soft
Por ejemplo, para Postgresql 9.1 en debian la carpeta es
/var/lib/postgresql/9.1/
Así que personalmente elegiría
/var/lib/git
Depende completamente de usted. Sin embargo, de manera óptima, debe colocar el directorio de datos git en una partición separada o incluso en un disco para facilitar las actualizaciones del sistema, etc. y, por supuesto, debe asegurarse de que haya suficiente espacio disponible en el disco.
En mi Arch Linux tengo /srv/http
para apache (que es el valor predeterminado del sistema) y también lo uso para mis servidores http node.js. Del mismo modo, decidí poner todos los repositorios de git /srv/git
.
Yo uso GitLab, y también /srv/git
es la carpeta de inicio para git en ese caso.
En última instancia, depende de usted. Descubrí que seguir un formato similar a otros servicios en su distribución es fácil de recordar.
Si usa algún frontend para git, simplemente vaya a donde quiera que el empaquetado por su distribución quiera colocarlos. Cualquier otra cosa es simplemente crear incompatibilidades innecesarias.
Primero, con respecto a la sugerencia de usar / srv, usted asume que todos los repositorios de git se usan para sitios web. Puede ser cierto para usted, pero podría tener un software que no sea un sitio web.
En segundo lugar, al almacenar los repositorios de código fuera de / var / www / html o / srv / html, obtienes dos buenos beneficios. Puede crear enlaces simbólicos en su repositorio en cualquier nivel, lo que facilita ocultar sus bibliotecas. Además, si la ubicación de su repositorio cambia en absoluto, no tiene que modificar sus configuraciones de host virtual. En cambio, solo ajusta sus enlaces simbólicos.
Estaba usando / var / repo, pero creo que / var / git es mejor, y lo usaré de ahora en adelante.