Sistema de arquivos Linux

13

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

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

/ dev (referências para todo o hardware)

/ etc (arquivos de configuração)

/ casa (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?

Sei que essas não são uma pergunta, mas parece-me que todas devem ser respondidas juntas. Espero que outros também estejam confusos.

baiacu
fonte

Respostas:

14

Você pode 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 administrador de sistemas; finja que você é outra pessoa com uma conta no sistema. Dentro do diretório inicial, por exemplo /home/pufferfish, você pode fazer o que quiser. /home/pufferfish/bin,, /home/pufferfish/libe /home/pufferfish/srcsão escolhas convencionais, mas nada disso realmente importa .

Para programas compilados, qualquer que seja o diretório / diretórios que você usa, verifique se eles estão no PATH para que você possa executá-los sem digitar o script ou o caminho inteiro do executável.

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

Nikhil Chelliah
fonte
6

Acontece que existe um padrão no sistema operacional semelhante ao Unix, chamado de Filesystem Hierarchy Standard, que explica as melhores práticas seguidas pela maioria dos fornecedores de Unix. É uma boa leitura e vale a pena revisar se você gastar muito tempo em ambientes * nix.

Padrão de hierarquia do sistema de arquivos

Respostas às suas perguntas:

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

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

/ sbin é para binários do sistema (geralmente coisas do sysadmin). Ele contém material para inicialização e utilitários fs.

/ usr / bin é o local onde a maioria dos comandos do usuário vive e você normalmente descobrirá que a maioria dos sistemas de gerenciamento de pacotes Linux coloca binários ou pelo menos links simbólicos para binários aqui.

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

Mark Turner
fonte
6

Talvez você deva dar uma olhada neles:

texto alternativo

texto alternativo

n00ki3
fonte
3

/ usr / local / é para software que foi compilado neste sistema. É semelhante a / usr /, mas 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

Tadeusz A. Kadłubowski
fonte