Se eu fizer uma analogia com a hospedagem de um servidor da Web, diria que os dados do git devem estar /var/git
, para que meu repositório git esteja no/var/git/myrepo
P : Esse é o palpite certo?
Se eu fizer uma analogia com a hospedagem de um servidor da Web, diria que os dados do git devem estar /var/git
, para que meu repositório git esteja no/var/git/myrepo
P : Esse é o palpite certo?
Respostas:
Não há resposta certa ou errada aqui, exceto a ditada por sua própria religião pessoal e o conteúdo da página de hier(7)
manual em seu sistema.
página de hier
manual típica do Linux ; página de hier
manual típica do BSD )
/var/git/*
parece-me razoável pessoalmente. É onde eu mantenho o meu.
Coloque-o em um diretório (ou sistema de arquivos compartilhado) em /srv
. É para isso que serve.
O /srv
diretório é destinado a dados específicos do site atendidos pelo sistema . Do padrão:
Esse principal objetivo de especificar isso é para que os usuários possam encontrar o local dos arquivos de dados para um serviço específico e para que serviços que exijam uma única árvore para dados somente leitura, dados graváveis e scripts (como scripts cgi) possam ser colocados razoavelmente. Dados que são de interesse apenas de um usuário específico devem ir no diretório inicial desse usuário.
A metodologia usada para nomear subdiretórios
/srv
não é especificada, pois atualmente não há consenso sobre como isso deve ser feito. Um método para estruturar dados abaixo/srv
é por protocolo, por exemplo.ftp
,rsync
,www
, Ecvs
. Em grandes sistemas, pode ser útil para estruturar/srv
pelo contexto administrativo, como/srv/physics/www
,/srv/compsci/cvs
, etc. Esta configuração será diferente de um hospedeiro para outro. Portanto, nenhum programa deve confiar em uma estrutura de subdiretório específica de/srv
dados existentes ou necessariamente armazenados em/srv
. No entanto/srv
, sempre deve existir em sistemas compatíveis com FHS e deve ser usado como o local padrão para esses dados.As distribuições devem tomar cuidado para não remover arquivos colocados localmente nesses diretórios sem a permissão do administrador.
Em um sistema habilitado para SELinux, o diretório padrão é /var/www/git
e os repositórios devem estar em seus subdiretórios. Ou, você pode usar, por exemplo, /srv/git
e definir o contexto do arquivo para ser equivalente:
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
Isso pode parecer um pouco não convencional no começo, mas é muito razoável, pois esse diretório é feito para você (com permissões corretas) quando o faz sudo useradd git
. Você pode simplesmente mudar para o usuário git cd
e executar imediatamente:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
e coloque as chaves públicas de seus pares no arquivo recém-criado author_keys.
Depois de git init --bare
seu projeto, o "url" é apenas ... espere ...
git@<server>:<project>
Como voretaq7 disse, não há resposta certa ou errada sobre esse assunto. No entanto, se você deseja acompanhar os soft softs, parece que os softs do banco de dados armazenam seus dados em
/var/lib/soft
Por exemplo, para o Postgresql 9.1 no debian, a pasta é
/var/lib/postgresql/9.1/
Então, eu pessoalmente escolheria
/var/lib/git
No meu Arch Linux, tenho o /srv/http
apache (que é o padrão do sistema) e também o uso nos meus servidores http node.js. Da mesma forma, decidi colocar todos os repositórios do git /srv/git
.
Eu uso o GitLab e também /srv/git
é a pasta inicial do git nesse caso.
Em última análise, cabe a você. Descobri que é fácil lembrar de um formato semelhante a outros serviços em sua distribuição.
Se você usa algum frontend para git, basta ir aonde o pacote da sua distribuição quiser colocá-los. Qualquer outra coisa é apenas criar incompatibilidades desnecessárias.
Primeiro, com relação à sugestão de usar / srv, você assume que todos os repositórios git são usados para sites. Pode ser verdade para você, mas você pode ter um software que não é um site.
Segundo, armazenando seus repositórios de código fora do / var / www / html ou / srv / html, você obtém dois bons benefícios. Você pode criar links simbólicos em seu repositório a qualquer nível, facilitando a ocultação de suas bibliotecas. Além disso, se a localização do seu repositório mudar, você não precisará modificar as configurações do host virtual. Em vez disso, basta ajustar seus links simbólicos.
Eu estava usando / var / repo, mas acho que / var / git é melhor, e vou usá-lo a partir de agora.