Estou tentando entender o sistema de arquivos Linux, e uma das perguntas é:
1- Por que existem várias pastas para arquivos executáveis /usr/bin
: /usr/sbin/
e /usr/local/bin
? Existe alguma diferença entre eles?
2- Se eu tiver um arquivo executável e quiser adicioná-lo ao meu sistema, qual dos terceiros locais é o melhor para mim?
Responder1
- Execute
man hier
a partir da linha de comando para obter a resposta à sua primeira pergunta. - Depende. Ver/usr/bin versus /usr/local/bin no Linux
Responder2
É chamado de Padrão de Hierarquia do Sistema de Arquivos e os detalhes sangrentos podem ser encontradosaqui
Geralmente:-
/usr/bin
é para programas de usuário.
/usr/sbin
é para programas de sistema - aqueles que são usados por administradores, mas não por usuários em geral.
Tanto o que está acima começa /usr
quanto o padrão afirma que eles podem ser hospedados em um servidor compartilhado (usando NFS, por exemplo) e acessados por vários hosts em uma rede. As variantes sem /usr
(ou seja, /bin
e /sbin
) são para programas essenciais que o sistema precisa para inicializar (já que os arquivos na /usr
árvore não estarão disponíveis se estiverem em um compartilhamento NFS).
/local/bin
são para programas de usuário compilados localmente.
Se você tiver um executável, que não foi instalado usando o gerenciador de pacotes do sistema, então suponho que você deva colocá-lo /usr/local/bin
se for usado por muitos usuários, ou você pode deixá-lo em seu diretório pessoal se for apenas para ser usado por você mesmo.