Як уже згадувалося , /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
дистрибутив чи відредагований системним адміністратором.