Де встановити програмне забезпечення та виконувані файли для всіх користувачів


15

За замовчуванням деякі програми встановлюються в / usr / local / bin, але якщо я зміню користувачів, чи зможе користувач отримати доступ до цієї програми? Я читав десь тут (інше питання), що мені слід використовувати / вибирати? Але бінарні файли, які за замовчуванням переходять у / usr / local / bin? немає / opt / bin?


Відповіді:


19

Зазвичай вам не доведеться намагатися нічого встановити вручну. Майже у всіх випадках ви знайдете пакет .deb. Якщо немає пропозицій Google (наприклад, як встановити Oracle JDK в Ubuntu ). Якщо це ваше власне програмне забезпечення, перегляньте Посібник з упаковки Ubuntu, щоб дізнатися, як правильно розмістити речі в Ubuntu.

Якщо це все-таки потрібно зробити, поставте бінарне в / opt / myapp і зв’яжіть виконуваний файл ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Якщо ви хочете дізнатися більше про тему, введіть man hierтермінал. Різниця між / usr / bin та / usr / local / bin пояснюється там. У будь-якому випадку обидва контури знаходяться в змінній середовища $ PATH. Це означає, що будь-який бінарний файл, який ви помістили там, буде виконуватися будь-яким, хто лише дасть ім'я бінарного файлу (а не повний шлях). Отже, використовуючи наведений вище приклад, ви можете запустити свою програму, myappbinaryзамість того, щоб дати повний шлях /opt/myapp/myappbinary.


1
Яка мета його ввімкнення / вибору, особливо якщо ви просто збираєтесь символізувати його в / usr / local як би там не було?
psusi

Якщо я хочу, щоб усі користувачі системи мали змогу користуватися додатком, я повинен посилатись на / usr / bin замість / usr / local / bin?
Jiew Meng

4
@jiewmeng Якщо ви подивитесь, man hierви побачите все, що там пояснено. Включаючи різницю між / usr / bin та / usr / local / bin. Коротше кажучи: не символізуйте нічого до / usr / bin /. @psusi Причина полягає в тому, щоб зберегти чисту файлову систему. якщо ви коли-небудь перевстановлюєте комп'ютер (або переходите на іншу машину / жорсткий диск), єдині каталоги, які вам потрібно переглянути, повинні бути / home, / etc та / opt. І дозволю ще раз повторити: Зазвичай ви ніколи не хочете робити нічого поза вашим $ HOME, крім, можливо, редагування конфігураційних файлів в / і т.д.
mniess

7

/ usr читається у всьому світі, тому ні, не буде проблем із тим, щоб інші користувачі могли запускати програму. / usr / local - це програма, яку ви збираєте з вихідного коду самостійно. Програми, встановлені через менеджер пакунків, йдуть в інше місце. Я ніколи не бачив жодної мети / відмовитись, і вважаю, що це просто перенесення зі старих днів AT&T Sys V ще у 80-х.


в чому різниця між / usr / local / bin та / usr / bin? Якщо я хочу, щоб усі користувачі мали змогу отримати доступ до програми, чи потрібно я класти його в / usr / bin?
Jiew Meng

@jiewmeng, знову ж таки, локальна версія призначена для програм, які ви збираєте з джерела самостійно, замість того, щоб встановлювати через менеджер пакунків. Це не має нічого спільного з користувачами та доступом.
psusi

0

Залежно від аромату Linux, бажане місце для встановлення чогось вручну може відрізнятися. Якщо ви робите це вручну, робіть те, що пропонує README .

Якщо ви створили нового користувача, а ваші старі користувачі нічого не робили, щоб отримати доступ до нової програми, нові користувачі теж не будуть.

Однак ви можете створити / opt / bin та включити його у шлях , але навіщо це робити? Або навіть / flip / flop / funky / bin . Або посилання звідкись до каталогу, який уже включений у PATH .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.