Іноді я встановлюю програми вручну, а не використовую apt
чи інший менеджер пакунків.
Що місце ( /usr/
, /usr/local/
, /opt/
, /home/
і т.д.) було запропоновано «найкращої практики» для установки користувальницьких додатків?
Іноді я встановлюю програми вручну, а не використовую apt
чи інший менеджер пакунків.
Що місце ( /usr/
, /usr/local/
, /opt/
, /home/
і т.д.) було запропоновано «найкращої практики» для установки користувальницьких додатків?
Відповіді:
Це залежить, насправді. Якщо програма має makefile або, наприклад, для додатків python, якщо програма використовує distutils (наприклад, має setup.py
файл) або подібну систему збирання / встановлення, вам слід встановити її /usr/local/
. Це часто поведінка за замовчуванням.
Як я розумію, /usr/local/
є ієрархія, схожа на /usr/
. Однак каталоги, як /usr/bin/
і /usr/lib/
зазвичай, зарезервовані для встановлення пакунків через apt
. Отже програма, яка очікує "встановлення", /usr/
повинна добре працювати /usr/local/
.
Якщо вам просто потрібно витягти тарбол і запустити безпосередньо (наприклад, Firefox), тоді вставте його /opt/
. Програма, яка потребує лише одного каталогу і отримає всі файли / бібліотеки відносно цього каталогу, може отримати один каталог для себе /opt/
.
opt/
- на мою думку, ти вдарив цвях по голові, як за цією метою.
~/.local/share
? @Marco
~
(домашній каталог), але це зробить програму доступною лише для одного користувача. Іншим користувачам вашої системи доведеться встановлювати та підтримувати власні установки цього програмного забезпечення. Що стосується найкращих практик встановлення програм для встановлення домашнього каталогу, я вважаю, що не існує настільки чітких рекомендацій, оскільки ви не заважатимете системним пакетам.
Добре пам’ятати, що /usr
це не для користувачів, а для системи Unix .
Як такий, я схильний вважати, що будь-який дистрибутив має право переповнювати весь вміст /usr,
і що мої конкретні доповнення до системи входять /usr/local
, які я зберігаю перед оновленням.
Тим часом заявки та інші речі надходять /opt
.
Деякі люди відчувають себе комфортно, коли кладуть речі /home
, хоча я рідко дотримуюся цієї конвенції.
Все, що сказано, я дозволяю менеджеру розповсюджувальних пакетів робити все спочатку своїм способом, а потім виконувати вищезазначене під час прокатки ручної роботи.
User
. Це було тому, що користувачі Linux були розробниками. По-перше, як це почало розділяти на розробників і користувачів, /home
було введено dir. А потім хтось - то прийшла в голову ідея сказати , що це означає Unix System Resources
, що на насправді не має сенсу, тому що ми маємо Unix system Resources
ін/dev
Встановлення нестабільних програм, таких як Firefox devel in / home / user / opt /, значно полегшує їх видалення, і не виникає плутанина для інших користувачів щодо того, якою версією вони повинні користуватися ... Тож якщо це не програма для глобального використання, встановіть це у підпапці у вашому домашньому каталозі.
Ніколи не встановлюйте програми в / usr /, це може спричинити хаос, речі, встановлені в / usr /, повинні бути призначені лише для розповсюдження пакетів. / usr / local / - для пакунків, що складаються локально. І структура працює точно так само! Файли в / usr / local / будуть мати пріоритет над файлами в / usr /
/ opt / слід використовувати для установки попередньо складених (бінарних) пакетів (Thunderbird, Eclipse, Netbeans, IBM NetSphere тощо) тощо. Але якщо вони призначені лише для одного користувача, їх слід помістити у домашній каталог.
Якщо ви хочете мати можливість запускати програму, встановлену у "дивному" місці (наприклад, / home / user / opt / firefox /), не вводячи весь шлях, вам потрібно додати його до змінної $ PATH, ви можете це зробити додавши такий рядок у свій /home/user/.profile
export PATH=/home/user/opt/firefox:$PATH
Ім'я папки має бути тим, де знаходиться виконавчий файл, який потрібно запустити.
Стандарт ієрархії файлової системи Linux вказує /usr/local
.
З http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :
Початкова ідея "/ usr / local" полягала в тому, щоб на кожній машині, крім "/ usr", був окремий каталог ("local") "/ usr", який може бути встановлений лише для читання з іншого місця. Він копіює структуру '/ usr'. У наші дні "/ usr / local" широко вважається хорошим місцем для збереження самостійно складених або сторонніх програм. / Usr / local ієрархія використовується для системного адміністратора при локальній установці програмного забезпечення. Це повинно бути захищено від перезапису при оновленні системного програмного забезпечення. Він може використовуватися для програм і даних, які можна поділити серед групи хостів, але їх не знайти в / usr. Місцеве програмне забезпечення повинно розміщуватися в / usr / local, а не / usr, якщо воно не встановлюється для заміни або оновлення програмного забезпечення в / usr.
Зазвичай у мене вдома є папка під назвою "Програми", куди я встановлюю ці програми, досить дивно (або ні) вони зараз усі на Java.
Для мене є одна велика перевага, коли я перевстановлюю або змінюю комп’ютери, вони переїжджають разом з рештою мого будинку. Має явний недолік, ці програми доступні лише моєму користувачеві.
/
каталогу formate лише потім ввести те саме старе ім’я користувача та пароль, але я виявив, що Ubuntu створює ще одну домашню папку.
Використовуйте "checkinstall" для перетворення чужорідного пакету в деб, щоб його не можна було встановити за допомогою менеджера пакунків.
Зверніть увагу, що конфігураційні файли часто не обробляються як конфігураційні файли (можливо, ігноруються або, можливо, трактуються як частина програми), і що сценарії до і після встановлення інколи потрапляють у помилку, хоча, як правило, попереджають вас, коли думаєте, що deb буде мати неправильний сценарій до або після встановлення.