Где установить программное обеспечение и исполняемые файлы для всех пользователей

15

По умолчанию некоторые приложения устанавливаются в / usr / local / bin, но если я поменяю пользователей, сможет ли этот пользователь получить доступ к этому приложению? Я читал где-то здесь (еще один вопрос), что я должен использовать / Opt? Но двоичные файлы, которые по умолчанию идут в / usr / local / bin? нет / опт / бин?

Jiew Meng
источник

Ответы:

19

Обычно вам не нужно пытаться устанавливать что-либо вручную. Почти во всех случаях вы найдете пакет .deb. Если нет ни одного гугла для предложений (например, как установить 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.

mniess
источник
1
Какова цель помещения его в / opt, особенно если вы просто собираетесь символически связать его с / usr / local?
Псуси
Если я хочу, чтобы все пользователи системы могли использовать приложение, я должен использовать символическую ссылку в / usr / bin вместо / usr / local / bin?
Jiew Meng
4
@jiewmeng Если вы посмотрите на себя, man hierвы увидите все, что там объясняется. Включая разницу между / usr / bin и / usr / local / bin. Вкратце: не используйте символическую ссылку на / usr / bin /. @psusi Причина в том, что ваша файловая система должна быть чистой. если вы когда-нибудь переустановите свой компьютер (или перейдете на другой компьютер / жесткий диск), единственными каталогами, на которые вам нужно обратить внимание, должны быть / home, / etc и / opt. И позвольте мне повторить еще раз: обычно вы никогда не хотите делать что-либо за пределами вашего $ HOME, за исключением, возможно, редактирования файлов конфигурации в / etc.
mniess
7

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

psusi
источник
что такое разница между / usr / local / bin и / usr / bin? Если я хочу, чтобы все пользователи имели доступ к приложению, я должен поместить его в / usr / bin?
Jiew Meng
@jiewmeng, опять же, локальная версия предназначена для программ, которые вы сами компилируете, а не устанавливаете через менеджер пакетов. Это не имеет ничего общего с пользователями и доступом.
Псуси
0

В зависимости от вкуса Linux, предпочтительное место установки чего-либо вручную может отличаться. Если вы делаете это вручную, делайте то, что предлагает README .

Если вы создаете нового пользователя, и ваши старые пользователи не должны были ничего делать для доступа к новой программе, новые пользователи тоже не будут этого делать.

Тем не менее, вы можете создать / opt / bin и включить его в путь , но зачем вам это? Или даже / flip / flop / funky / bin . Или ссылка откуда-то на каталог, который уже включен в PATH .

Пользователь неизвестен
источник