Bem, existem várias considerações.
-
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. -
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. -
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. -
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 embin
, bibliotecas para todos os pacotes estão emlib
, & 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
.