Як уже згадувалося , /usr/localвін призначений як префікс для, по суті, програмного забезпечення, встановленого системним адміністратором, в той час як він /usrповинен використовуватися для програмного забезпечення, встановленого з пакетів дистрибутива.
Ідея цього полягає в тому, щоб уникнути сутичок з розподіленим програмним забезпеченням (наприклад, rpmі debпакетами) і дати адміністратору повноцінне управління над "локальним" префіксом.
Це означає, що адміністратор може встановлювати програмне забезпечення, що складене на замовлення, використовуючи дистрибутив, як debian.
Програмне забезпечення, розміщене в / або / usr, може бути перезаписане оновленнями системи (хоча ми рекомендуємо, щоб дистрибутиви не перезаписували дані в / і т.д. за цих обставин). З цієї причини локальне програмне забезпечення не повинно розміщуватися поза / usr / local без поважних причин.
Під час встановлення специфічного для користувача програмного забезпечення uther пропонує використовувати $HOMEяк префікс, оскільки це гарантує наявність дозволу на запис. Особисто я відчуваю, що я користуюся $HOME/.localбільш елегантним рішенням, оскільки це дозволяє уникнути захаращення вашого (сподіваємось) приємного та охайного домашнього каталогу!
$HOME/.local/shareвже використовується в специфікації каталога freedesktop.org XDG Base Directory , тому не потрібно багато чого передбачати додавання $HOME/.local/binдо вашого $PATHта створення $HOME/.local/libта ін., поки ви це працюєте.
Якщо ви не хочете, щоб ваш префікс був прихованою каталогом, ви також можете легко створити символічне посилання на нього, наприклад:
ln -s .local ~/local
Sidenote
Варто зазначити, що .config(не .local/etc) - це значення за замовчуванням, яке $XDG_CONFIG_HOMEвикористовується для конкретних конфігураційних файлів користувача. Я також повинен зазначити, що, на жаль, значна частина програмного забезпечення ігнорує XDG і створює конфігураційні файли там, де їм подобається (як правило, в корені $HOME). Також зауважте, що $XDG_CONFIG_HOMEможе бути знято, якщо $HOME/.configбажаний за замовчуванням .
Як не дивно, немає каталогу, зарезервованого для файлів конфігурації за замовчуванням дистрибутиву, тому немає ніякого способу дізнатися, чи був файл у файлі /etcдистрибутив чи відредагований системним адміністратором.