Diferenças entre as muitas pastas lib no Linux


14

Qual é a diferença entre as muitas bibliotecas no sistema Linux? (/ lib, / usr / lib, / var / lib, / usr / compartilhamento / lib, etc, etc).

Sei que é tratado automaticamente pelo synaptic sempre que instalo um aplicativo, mas, no caso de ser desenvolvedor de Linux, preciso saber onde colocar as bibliotecas de aplicativos no sistema.

Respostas:


10

Normalmente, o seu software será instalado em /, ou / usr ou / usr / local. Isso é chamado de "prefixo". / é normalmente reservado para os programas mais críticos do sistema operacional. / usr / está reservado para uso dos gerenciadores de pacotes. Portanto, quando você escreve um software, é muito educado configurá-lo para que o prefixo seja / usr / local. Isso pode ser substituído quando alguém o empacota para uma distribuição.

Observe que não estou falando especificamente de "lib". Existem vários subdiretórios comuns sob o prefixo, lib sendo apenas um deles. "bin" é usado para executáveis, "share" para arquivos de dados, "lib" para bibliotecas compartilhadas e assim por diante. Portanto, se o seu programa for uma biblioteca, você poderá instalá-lo por padrão em / usr / local / lib. Se for um programa normal, você pode instalá-lo em / usr / local / bin com seus arquivos de dados em / usr / local / share. O importante é que você faça com que o prefixo seja selecionável em tempo de compilação. Alguns podem preferir instalar em / usr em vez de / usr / local ou vice-versa.


Então, o que você quer dizer é que os locais são mais uma diretriz do que um limite rígido?
Andreas Wong

1
É uma diretriz, mas deve ser seguida, e muitos aplicativos esperam determinados arquivos em determinados lugares.
21711 Jim Deville

@james point taken: D
Andreas Wong

8

Há também um padrão que descreve a hierarquia do sistema de arquivos linux / unix. Pode ser encontrado em: http://www.pathname.com/fhs/ . Isso se destina principalmente a desenvolvedores de distribuição, mas não vejo razão para que um usuário / desenvolvedor não deva estar ciente disso.


0

/ bin e / sbin

  • binários usados ​​para administração do sistema e também no modo de usuário único. Seus arquivos de biblioteca estão localizados em / lib.

/ usr / bin e / usr / sbin

  • contêm binários não essenciais não essenciais usados ​​por todos os usuários e binários usados ​​para serviços de rede e tudo. Suas bibliotecas são colocadas em / usr / lib.

/ var / lib

  • contém arquivos que preservam informações sobre o estado de execução de programas ou instâncias de programas. O usuário não precisa alterar isso.

/ usr / compartilhamento / lib

  • Contém arquivos de dados independentes da arquitetura.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.