Como mencionado anteriormente , ele /usr/local
pretende ser um prefixo para, essencialmente, o software instalado pelo administrador do sistema, enquanto /usr
deve ser usado para o software instalado a partir dos pacotes da distribuição.
A idéia por trás disso é para evitar confrontos com software distribuído (como rpm
e deb
pacotes) e dar o administrador pleno reinado sobre o prefixo "local".
Isso significa que um administrador pode instalar um software compilado personalizado enquanto ainda usa uma distribuição como o debian.
O software colocado em / ou / usr pode ser sobrescrito pelas atualizações do sistema (embora recomendamos que as distribuições não sobrescrevam dados em / etc sob essas circunstâncias). Por esse motivo, o software local não deve ser colocado fora de / usr / local sem um bom motivo.
Ao instalar software específico do usuário, outro sugere o uso $HOME
como prefixo, pois isso garante que você tenha permissões de gravação. Pessoalmente, sinto que estou usando $HOME/.local
uma solução mais elegante, pois evita sobrecarregar o seu diretório pessoal (espero) agradável e arrumado!
$HOME/.local/share
já é usado na especificação do diretório básico do freedesktop.org XDG , portanto, não é preciso muito tempo para adicionar um $HOME/.local/bin
ao seu $PATH
e criar um $HOME/.local/lib
etc, enquanto você está nisso.
Se você realmente não deseja que seu prefixo seja um diretório oculto, também pode criar um link simbólico para ele, por exemplo:
ln -s .local ~/local
Nota
Vale ressaltar que .config
(not .local/etc
) é o valor padrão $XDG_CONFIG_HOME
usado para arquivos de configuração específicos do usuário. Devo também salientar que, infelizmente, uma grande parte do software ignora o XDG e cria arquivos de configuração onde quiserem (geralmente na raiz do $HOME
). Observe também que $XDG_CONFIG_HOME
pode ser desabilitado se o padrão $HOME/.config
for desejado.
Estranhamente, não há diretório reservado para os arquivos de configuração padrão de uma distribuição; portanto, não há como saber se um arquivo /etc
foi fornecido pela distribuição ou editado pelo administrador do sistema.