/var/lib para armazenar dados servidos, por quê?

/var/lib para armazenar dados servidos, por quê?

De acordo com oESF, os diretórios /libe /usr/libsão ambos para bibliotecas (bibliotecas usadas /sbine bibliotecas de usuário, respectivamente).

Mas e a /var/libpasta? Seguindo a mesma lógica, esta pasta deveria ter algo como "bibliotecas de variáveis" (isso parece estranho), mas na verdade contém dados gerados e mantidos pela execução de programas, ou conforme definido pelo artigo da Wikipedia:

Informações do estado. Dados persistentes modificados por programas à medida que são executados, por exemplo, bancos de dados, metadados de sistemas de empacotamento, etc.

De uma nova visão, faz mais sentido colocar os dados do banco de dados e os arquivos servidos /srvem vez de/var/lib

Responder1

Isso é explicado no commit para a nova versão 3.0:

http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26

Especificamente, /srv/é para dados estruturados de sistema de arquivos servidos, /var/lib/é para dados consumidos localmente. O Apache servirá fora de /srv, pois é um sistema de arquivos hierárquico. O MySQL serve fora de /var/lib já que apenas o mysqld o acessa e não é um sistema de arquivos hierárquico.

Responder2

Comosysadmin1138já mencionou, o FHS 3.0 explica isso em sua /srvseção, que citarei:

https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html

Se o diretório e a estrutura de arquivos dos dados não forem expostos aos consumidores, eles deverão entrar no formato /var/lib.

Essa frase foi adicionada devido aesse bug da FHS. Lá,Tollef Nevoeiro Heenescreve:

Acho que a diferença crucial aqui é se o administrador do sistema está normalmente exposto e precisa se preocupar com a estrutura de diretórios.

A parte útil aqui é que no /srvsysadmin”tem que se preocupar com a estrutura de diretórios“.

informação relacionada