Linux FHS: / srv vs / var… onde coloco coisas?

55

Minha experiência em desenvolvimento web começou com o Fedora e o RHEL, mas estou em transição para o Ubuntu. No Fedora / RHEL, o padrão parece estar usando a pasta / var enquanto o Ubuntu usa / srv.

Existe algum motivo para usar um sobre o outro e onde a linha se divide? (Isso me confundiu tanto que, até muito recentemente, eu pensei que / srv era / svr para servidor / serviço)

Minha principal preocupação lida com dois tipos de pastas

  • diretórios padrão www e ftp
  • pastas de aplicativos específicas, como:
    1. compartilhamentos samba (possivelmente agrupados em uma pasta smb)
    2. aplicativos da web (eles devem ir na pasta www ou posso fazer um link simbólico para seu próprio diretório como "___ / www / wordpress" -> "/ srv / wordpress")

Estou procurando as melhores práticas, padrões do setor e razões qualitativas para a melhor abordagem (ou pelo menos por que é a preferida).

wag2639
fonte
Talvez esta outra pergunta o ajude: serverfault.com/questions/102569/…
ptman

Respostas:

51

Isso decorre do LSB, que diz " /varcontém arquivos de dados variáveis. Isso inclui diretórios e arquivos de spool, dados administrativos e de log e arquivos temporários e temporários". mas diz o seguinte para /srv: " /srvcontém dados específicos do site que são veiculados por este sistema".

O SuSE foi um dos primeiros exemplos que usei que mantinham o webroot /srv- normalmente uso do Debian / Ubuntu / RHEL /var/www- mas também esteja ciente de que se você instalar um aplicativo da web usando o yum ou apt, eles provavelmente acabarão no /usr/share. Além disso, as diretrizes de empacotamento do Fedora dizem que um "pacote, uma vez instalado e configurado por um usuário, pode ser usado /srvcomo local para dados. O pacote simplesmente não deve fazer isso imediatamente".

Em uma reflexão equilibrada, eu diria que continue /var/www- ou você pode fazer as duas coisas fazendo /var/wwwum link simbólico para /srv/www. Eu sei que nos sistemas RDBMS da oracle que eu construo, geralmente crio /u01 /u02etc como links simbólicos para /home/oracle. A razão para isso é que muitos DBAs esperam encontrar coisas em / u01 e muitos outros esperam /home/oracle. O mesmo pode ser dito de Sysadmins em geral - alguns instintivamente olhar no /var/wwwe alguns em /srv/wwwenquanto outros, como eu, vai grep a configuração do Apache para o DocumentRoot.

Espero que isso forneça algumas orientações para você.

Geraint Jones
fonte
6
Normalmente, coloco os recursos "atendidos" em / srv, principalmente por motivos de armazenamento e backup. Dessa maneira, os dados veiculados podem estar em um pool de armazenamento diferente dos arquivos gerenciados pelo sistema, como cache e logs apt, e é mais fácil acomodar mais espaço, se necessário.
gerlos 16/05
3
Usando a /srvpartição é particularmente útil quando você tem unidades separadas montado em /vare /srve não quer que seu registro para ter impacto na sua IO. Vale ressaltar que o Apache também vem com Directorydiretivas /srv, elas são apenas comentadas.
Varlogtim 28/05