No Debian e no Ubuntu, e na verdade o FHS, /usr/lib
e variantes são "de propriedade" do fornecedor. Nesse caso, isso significa sua distribuição. Você não deve colocar arquivos lá por conta própria. É claro que você pode fazer o que quiser, mas as ferramentas (como o dpkg) irão sobrescrever os arquivos que você colocar lá sem avisar, porque o sistema por design considera esses espaços somente para pacotes de distribuição. Seu sistema é seu para quebrar como quiser, mas você também consegue manter as peças: -)
O espaço reservado para o proprietário / administrador do sistema para colocar bibliotecas extras do sistema é /usr/local/lib
. Isso está no FHS, portanto, deve estar disponível e configurado em todas as distribuições que respeitam os padrões. O software upstream deve ter make install
place libraries por padrão.
... existe uma diferença funcional ou filosófica entre colocar uma biblioteca em / usr / lib versus colocar uma biblioteca em / usr / lib / {x86_64, i386} -linux-gnu?
Pacotes de distribuição que usam /usr/lib
não podem ter arquiteturas diferentes instaladas de uma vez (como i386 vs. amd64), o que, como outros apontaram, é útil para desktops que executam software de 32 e 64 bits e para desenvolvedores executando código construído para outras arquiteturas por emulação. Esta é a única razão para os subdiretórios multiarch.
O mesmo se aplica às bibliotecas que você instala. Se você fizer isso em /usr/lib
ou /usr/local/lib
, não poderá ter várias arquiteturas suportadas simultaneamente. Você sempre pode adicionar caminhos multiarch como /usr/local/lib/{x86_64,i386}-linux-gnu
to /etc/ld.so.conf.d/
para ativar isso, é claro.