Como se mencionó anteriormente , /usr/local
está pensado como un prefijo para, esencialmente, el software instalado por el administrador del sistema, mientras que /usr
debe usarse para el software instalado desde los paquetes de la distribución.
La idea detrás de esto es evitar conflictos con el software distribuido (como rpm
y deb
paquetes) y darle al administrador un dominio completo sobre el prefijo "local".
Esto significa que un administrador puede instalar software compilado personalizado mientras usa una distribución como debian.
El software colocado en / o / usr puede sobrescribirse por las actualizaciones del sistema (aunque recomendamos que las distribuciones no sobrescriban los datos en / etc en estas circunstancias). Por esta razón, el software local no debe colocarse fuera de / usr / local sin una buena razón.
Al instalar un software específico para el usuario, se sugiere usarlo $HOME
como prefijo, ya que esto garantiza que tenga permisos de escritura. Personalmente, creo $HOME/.local
que es una solución más elegante, ¡ya que evita abarrotar su (con suerte) directorio de inicio agradable y ordenado!
$HOME/.local/share
ya se usa en la especificación del directorio base XDG de freedesktop.org , por lo que no hace falta mucho para imaginar agregar un $HOME/.local/bin
a $PATH
y hacer un $HOME/.local/lib
, etc., mientras lo hace.
Si realmente no desea que su prefijo sea un directorio oculto, también podría crear fácilmente un enlace simbólico, por ejemplo:
ln -s .local ~/local
Nota al margen
Vale la pena señalar que .config
(no .local/etc
) es el valor predeterminado $XDG_CONFIG_HOME
para los archivos de configuración específicos del usuario. También debo señalar que, desafortunadamente, una gran parte del software ignora el XDG y crea archivos de configuración donde quieran (generalmente en la raíz de $HOME
). También tenga en cuenta que $XDG_CONFIG_HOME
puede desarmarse si $HOME/.config
se desea el valor predeterminado .
Curiosamente, no hay un directorio reservado para los archivos de configuración predeterminados de una distribución, por lo que no hay forma de saber si un archivo /etc
fue suministrado por la distribución o editado por el administrador del sistema.