Diferenças entre / home, / root e / usr

3

Eu encontrei este tópico: O que é a diferença entre / opt e / usr / local?

E este link: link

Para me ajudar a entender os usos entre /home , /root , /usr/local , /usr/bin e /opt , ainda tenho uma pergunta porque estou um pouco confuso, entendendo as diferenças entre cada um deles.

Para um sistema no qual eu quero instalar meus aplicativos que precisam ser usados localmente por um usuário, é melhor colocar os aplicativos em /home ou /usr/bin ou /root ? Existe uma "boa prática" que eu deveria saber?

    
por xhaltar 16.09.2015 / 17:09

3 respostas

7

Bem, existem várias considerações.

  1. Você não coloca nada em /root . Isso é para o uid 0 e apenas para administração de sistemas; muitas vezes não é nem mesmo passível de ser usado por usuários não-root.

  2. Instale em /home/<username> se você for um usuário sem privilégios na máquina e, pessoalmente, precisar usar o software que está instalando. Se você é o administrador, geralmente não deve mexer nos homedirs dos usuários.

  3. Instale sob /usr/local para pacotes de software normais que, por alguma razão, você está instalando a partir do código-fonte localmente (em vez de instalar através do gerenciador de pacotes). Geralmente é onde as coisas são colocadas se você executar o padrão autoconf ./configure && make && make install de um tarball de origem. Eu também coloquei pequenos utilitários que desenvolvi localmente em /usr/local/bin , se eu quiser que eles estejam disponíveis universalmente.

  4. Instale sob /opt para software pré-empacotado de terceiros (um bom exemplo disso é o Caliber, se você usar o instalador binário). Isso cria um diretório separado em /opt para cada pacote instalado e esse diretório tem todos os requisitos para o pacote (em oposição a /usr ou /usr/local , em que os binários de todos os pacotes estão em bin , bibliotecas para todos os pacotes estão em lib , & c.). Em geral, se você está escrevendo ou empacotando software que precisa de muitos componentes diferentes, pode ser bom colocá-lo aqui, mas provavelmente não é ideal tentar instalar o pacote de outra pessoa lá, se não for sua recomendação. Isso pode ser uma questão de opinião, no entanto.

Se você estiver criando um pacote que os usuários ou administradores instalarão manualmente, você deseja /opt ou /usr/local . Se você estiver instalando o pacote de outra pessoa, siga a recomendação deles. Se você está empacotando algo para uma distribuição (o que você provavelmente não é), use /usr .

    
por 16.09.2015 / 17:20
4

Um pacote integrado ao sistema bem comportado coloca:

  • executáveis em /usr/bin
  • .so e .a bibliotecas em /usr/lib
  • dados independentes da arquitetura (incluindo a documentação) em /usr/share
  • dados de configuração do sistema em /etc
  • dados de configuração do usuário em um arquivo de pontos em $HOME ou em $HOME/.config

Se o seu pacote não é integrado ao sistema (por exemplo, o que você cria a partir do código-fonte), seu prefixo é /usr/local em vez de apenas /usr .

Se o seu pacote não seguir esta convenção de separação de dados, ele deverá entrar em /opt .

Se você não tiver permissões para escrever fora de seu $HOME , poderá replicar bin , lib e share in $HOME/.local , mas a maioria dos gerenciadores de pacotes no nível do usuário não o segue ( na minha experiência).

/root é apenas a casa do usuário root. Você geralmente não precisa se preocupar com /root se quiser colocar software em um sistema.

    
por 16.09.2015 / 17:21
1

/ home é o diretório base para homedirectories de usuários pessoais. No Windows XP / home é comparável a% HOMEDRIVE%. O caminho completo, normalmente / home / $ Loginname é comparável a% HOMEPATH%.

/ root é o diretório inicial da conta de superusuário principal. Ele reside em / para disponibilizá-lo durante a inicialização antecipada, em que / home pode não estar disponível (compartilhamento de rede ou ponto de montagem próprio).

Eu não vou repetir o que pode ser lido nas outras respostas sobre / usr / local ...

    
por 16.09.2015 / 21:13