Як слід додати до контуру виконувані файли, встановлені під / opt?


11

Чи можуть програми, встановлені під програмою, /optбути безпечно включеними в /usr/local/bin, що вже є в PATH за замовчуванням в Ubuntu та інших дистрибутивах Linux?

Як альтернатива, чи є якась причина створити окремий /opt/binі додати це до PATH, як у цій відповіді: Різниця між каталогами / opt / bin та / opt / X / bin ?

Відповіді:


10

Існує різниця між /optі /usr/local/bin. Тож просто поєднання бінарних файлів від одного до іншого було б заплутаним. Я б їх не змішував.

/optпризначений для встановлення додаткових програмних пакетів програм , тоді як /usr/localкаталог призначений для системного адміністратора при локальній установці програмного забезпеченняmakeі make install). /usr/local/binпризначений для двійкових файлів із програмного забезпечення, встановленого в /usr/local.

Згідно стандарту ієрархії файлів , правильним способом було б додавання /opt/<package>/binдо $PATHкожного окремого пакету. Якщо це занадто болісно (наприклад, якщо у вас є незліченна кількість /opt/<package>/binкаталогів, наприклад), ви (місцевий адміністратор) можете створювати посилання /opt/<package>/binна /opt/binкаталог. Потім це може бути додано користувачам $PATHодин раз.


Е, чому? /usr/local/binпризначений для використання системним адміністратором. Якщо адміністратор хоче встановити програмне забезпечення /optі створити посилання на нього під /usr/local, це ідеально кромулює.
Жил "ТАК - перестань бути злим"

@Gilles Звичайно, він може, він може робити все, що завгодно, він системний адміністратор. Але найкращою практикою було б тримати їх окремо.
хаос

Гаразд, так здається, це більше питання стандартної конвенції, ніж будь-що інше. Мене трохи здивувало відсутність симетрії "Існує різниця між" /optі /usr/local/bin"на відміну від" ... між /optі /usr/local"або" ... між /opt/binі /usr/local/bin", але після досягнення кінця я підозрюю, що це малося на увазі як спосіб поєднання /opt/binі /opt/.../bin. Якщо так, то мені цікаво, чи можна було б вдосконалити формулювання.
Кеннет Гансон

1
@chaos Ви пишете, що відповідно до FHS /opt/package/bin/або, принаймні, /opt/bin/слід додати до $ PATH. Я прочитав опубліковану посилання, і це дуже багато говорить про те, як структурувати /optі що там все, але я не зміг знайти підтвердження того, що будь-який із цих каталогів /optслід додати до $ PATH. Не могли б ви детальніше розібратися, як ви дійшли до цього висновку? Ура
вік

@vic З тієї ж причини, що ви поставите будь-який інший /whatever/binкаталог в $ PATH - так ви можете викликати виконувані файли, не вводячи повний шлях щоразу.
Кеннет Гансон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.