Qual é a diferença entre /lib
e /usr/lib
e /var/lib
? Alguns dos arquivos são links simbólicos que "duplicam" o conteúdo de outros diretórios.
Qual é a diferença entre /lib
e /usr/lib
e /var/lib
? Alguns dos arquivos são links simbólicos que "duplicam" o conteúdo de outros diretórios.
Alguém provavelmente pode explicar isso com muito mais detalhes e referência histórica, mas a resposta curta:
/lib
é um local para as bibliotecas padrão essenciais. Pense nas bibliotecas necessárias para o seu sistema funcionar. Se algo estiver
/bin
ou/sbin
precisar de uma biblioteca, essa biblioteca provavelmente estará no/lib
./usr/lib
o
/usr
diretório em geral é como parece, um diretório baseado no usuário. Aqui você encontrará coisas usadas pelos usuários no sistema. Portanto, se você instalar um aplicativo que precise de bibliotecas, ele poderá acessar o/usr/lib
. Se um binário/usr/bin
ou/usr/sbin
precisa de uma biblioteca, provavelmente estará em/usr/lib
./var/lib
o
/var
diretório é a contraparte gravável do/usr
diretório que geralmente precisa ser somente leitura. Então/var/lib
teria um propósito semelhante,/usr/lib
mas com a capacidade de escrever para eles.Os arquivos
/lib
e/usr/lib
devem ser principalmente somente leitura e idênticos entre os sistemas. (Se fosse uma imagem de contêiner, eles poderiam ser totalmente somente leitura e compartilhados entre sistemas; em um sistema autônomo, eles precisam ser graváveis para instalar atualizações.)Os arquivos
/var
são específicos do sistema local e frequentemente contêm dados gerados pela operação do sistema.Normalmente, as versões de distribuição de modelos para arquivos de configuração podem ser encontradas
/usr/lib
e podem ser usadas para criar versões localizadas de arquivos de configuração em/etc
ou possivelmente/var
.Não sei por que haveria arquivos duplicados entre
/lib
e/usr/lib
, mais provavelmente são links simbólicos e não duplicados. (Não existem esses arquivos no meu sistema atual e apenas um link simbólico.)Historicamente, diretórios como
/usr/lib
/usr/bin
foram criados porque/usr
estavam em um disco separado e as coisas foram colocadas lá porque/bin
estavam/lib
no disco raiz, que era pequeno demais para armazenar tudo, e o que restava no disco raiz eram coisas críticas para inicializar o suficiente para montar/usr
. Claro, esse conceito é obsoleto, e há um movimento para fundi-los.