Что лучше для установленных приложений: / usr / bin или домашний каталог пользователя?


9

Мне не совсем ясно, было бы лучше установить приложение с графическим интерфейсом в /usr/binмоем домашнем каталоге. Я прочитал эту статью и эту , но на самом деле она не говорит о философии использования этих разных каталогов. Должны ли команды рассматриваться иначе, чем приложения с графическим интерфейсом?

Ответы:


11

Это /usr/binосновной каталог исполняемых команд в системе.

The /usr/local:

  • Используется системным администратором при локальной установке программного обеспечения.
  • Он должен быть защищен от перезаписи при
    обновлении системного программного обеспечения.
  • Он может использоваться для программ и данных, которые являются общими для группы хостов, но не найдены в /usr.

Локально установленное программное обеспечение должно быть размещено внутри, /usr/localа не /usrесли оно не устанавливается для замены или обновления программного обеспечения в / usr.

Больше здесь .


7

Нет особой причины для различия между командами GUI и CLI.

/usr/binпринадлежит операционной системе, поэтому, даже если ничто не мешает вам, как root, сделать это, вы не должны ничего здесь размещать. Этот каталог предназначен для людей, распространяющих программное обеспечение, интегрированное в ОС, и для правильной обработки / предотвращения конфликтов имен.

/usr/local/binявляется общим каталогом для локально созданного программного обеспечения. Если вы можете написать здесь, вы можете просто использовать этот каталог.

/opt/<name>/binдля программного обеспечения, не принадлежащего к ОС. Это хорошее место для общего программного обеспечения.

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


1
Так есть ли единственная разница между / usr / local / bin и / opt / foo / bin, где / как было установлено программное обеспечение? Так что, как правило, любое программное обеспечение, которое я устанавливаю вручную, должно идти в первом, а что-либо, установленное из диспетчера пакетов, будет в конце? РЕДАКТИРОВАТЬ: Кажется, так. ссылка
TheAmpersand

Да. Обратите внимание, что локально созданное программное обеспечение может также перейти в / opt / local / bin. Это позволяет избежать проблемы с / usr / local, которая может быть доступна для записи, в то время как / usr может быть смонтирована только для чтения.
Jlliagre

3

Не устанавливайте ничего вручную /usr/bin. Все /usr, так же как /bin, /libи /sbin, зарезервированы для программного обеспечения , предоставленного дистрибутивом. Существует исключение:, /usr/localкоторое предназначено для программ, установленных системным администратором, и не затрагивается менеджерами пакетов (за исключением создания нескольких каталогов). (Это на Linux, другие варианты Unix могут иметь менеджеры пакетов, которые устанавливают программное обеспечение под /usr/local.)

Между /usr/localи местом в вашем домашнем каталоге, выбор за вами. Если вы хотите, чтобы программа была доступна всем пользователям, вставьте ее /usr/local. Если вы хотите, чтобы он был доступен только для вас, установите его в своем домашнем каталоге.

Имеет ли программа графический интерфейс или нет, не имеет значения.


1
/optтакже иногда используется для локальных установок, хотя разделение /usr/localи /optнеясно.
Фахим Митха

2

Если имеет смысл (или требуется), чтобы пользователь мог заменить двоичные файлы приложения, его следует установить в домашний каталог пользователя. В противном случае он может быть установлен в общедоступном каталоге, доступном только для чтения, например /usr/bin.


0

Для глобального использования вы можете установить его в / usr / bin, но никто не рекомендует этого.

Для использования какого-либо приложения в качестве конкретного пользователя (оно должно быть более безопасным при запуске от 1 пользователя), установите его в домашний каталог определенного пользователя.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.