sistema de arquivos Linux

13

Quais são as convenções para locais de arquivos no Linux? Até agora consegui deduzir:

/ proc (referências a processos em execução)

/ dev (referências a todo o hardware)

/ etc (arquivos de configuração)

/ home (casa)

/ mnt (dispositivos montados)

/ media (dispositivos removíveis, como CDs, discos USB)

... mas outras partes ainda não estão claras, por exemplo:

Onde coloco a fonte baixada?

/ usr / src

/ usr / local / src

Onde coloco programas compilados?

/ bin

/ usr / bin

/ usr / local / bin

Qual é a diferença entre / bin e / sbin ?

Como as distribuições diferem?

Eu percebo que estas não são uma questão, mas me parece que todas deveriam ser respondidas juntas. Espero que outros também estejam confusos.

    
por pufferfish 15.07.2009 / 11:16

4 respostas

14

Você pode querer ler o Padrão de Hierarquia do Sistema de Arquivos ; é uma referência útil.

Seu diretório pessoal é onde a maioria disso deve ir. Finja que você não é o sysadmin; fingir que você é outra pessoa com uma conta no sistema. Dentro do seu diretório pessoal, por exemplo /home/pufferfish , você pode fazer o que quiser. /home/pufferfish/bin , /home/pufferfish/lib e /home/pufferfish/src são todas opções convencionais, mas nada disso importa .

Para programas compilados, qualquer diretório / diretórios que você usar, certifique-se de que eles estejam no PATH para que você possa executá-los sem digitar o script ou o caminho completo do executável.

As distribuições não diferem muito. Descobri que o gerenciador de pacotes em um pode instalar binários em /usr/bin , enquanto algumas bibliotecas podem ir para outro lugar, e outro sistema pode instalar coisas em outro lugar. Eu geralmente tenho que fazer alguma pesquisa para descobrir onde as coisas correm a cada vez.

    
por 15.07.2009 / 11:24
6

Acontece que há um padrão no mundo do SO semelhante ao Unix chamado Filesystem Hierarchy Standard que explica as melhores práticas que os mais fornecedores do Unix seguem. É uma boa leitura e vale a pena repassar se você passa muito tempo em ambientes * nix.

Padrão de hierarquia do sistema de arquivos

Respostas às suas perguntas:

Ambos os trabalhos / usr / src e / usr / local / src. Sua escolha. Basta manter é consistente.

/ bin é para comandos obrigatórios para usuários. Eu não colocaria binários personalizados lá.

/ sbin é para binários do sistema (geralmente coisas do sysadmin). Ele contém coisas para inicializar e fs utils.

/ usr / bin é onde a maioria dos comandos de usuário vivem e você normalmente descobrirá que a maioria dos sistemas de gerenciamento de pacotes Linux coloca binários ou pelo menos symlinks para binários aqui.

/ usr / local / bin é um lugar seguro para colocar seu próprio código compilado que é exclusivo para essa máquina.

    
por 15.07.2009 / 11:25
5

Talvez você devesse dar uma olhada nestes:

    
por 16.09.2011 / 08:27
3

/ usr / local / é para o software que foi compilado neste sistema. É semelhante a / usr /, apenas que não foi instalado a partir de pacotes.

/ sbin / vs / bin / (e / usr / sbin / vs / usr / bin): s significa superusuário. Programas com os quais os usuários normais não devem se importar e geralmente não devem ter permissão para executar

    
por 15.07.2009 / 11:20