Где при установке пользовательских приложений "лучшие практики" предполагают их нахождение?

Иногда я устанавливаю приложения вручную, а не используя apt или другой менеджер пакетов.

В каком месте (/usr/, /usr/local/, /opt/, /home/и т. д.) предлагается "лучшие практики" для установки пользовательских приложений?

6 ответов

Решение

Это зависит, действительно. Если приложение имеет make-файл или, например, для приложений на Python, если приложение использует distutils (например, имеет setup.py файл), или аналогичная система сборки / установки, вы должны установить ее в /usr/local/, Это часто - поведение по умолчанию.

Из того, что я понимаю, /usr/local/ имеет иерархию, которая похожа на /usr/, Тем не менее, каталоги, как /usr/bin/ а также /usr/lib/ обычно зарезервированы для установки пакетов через apt, Таким образом, программа ожидает "установки" в /usr/ должно нормально работать в /usr/local/,

Если вам просто нужно извлечь tarball и запустить его напрямую (например, Firefox), поместите его в /opt/, Программа, которая нуждается только в одном каталоге и получит все файлы / библиотеки, относящиеся к этому каталогу, может получить один каталог для себя в /opt/,

Это хорошо помнить, что /usr не означает пользовательские, а скорее системные ресурсы unix.

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

Между тем, приложения и другие вещи идут в /opt,

Некоторые люди чувствуют себя комфортно /homeхотя я редко следую этому соглашению.

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

Установите нестабильные программы, такие как firefox devel, в / 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" заключалась в том, чтобы на каждой машине был отдельный каталог ("local") "/ usr", кроме "/ usr", который мог быть просто смонтирован только для чтения откуда-то еще. Он копирует структуру / usr. В наши дни "/ usr / local" широко рассматривается как хорошее место для хранения самостоятельно скомпилированных или сторонних программ. Иерархия / usr / local предназначена для использования системным администратором при локальной установке программного обеспечения. Он должен быть защищен от перезаписи при обновлении системного программного обеспечения. Он может использоваться для программ и данных, которые являются общими для группы хостов, но не найдены в / usr. Локально установленное программное обеспечение должно быть размещено в / usr / local, а не / usr, если оно не устанавливается для замены или обновления программного обеспечения в / usr.

У меня обычно есть папка с именем "Программы" в моем доме, где я устанавливаю эти программы, как ни странно (или нет), все они прямо сейчас java.

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

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

Обратите внимание, что файлы конфигурации часто не обрабатываются как файлы конфигурации (возможно, игнорируются или, возможно, рассматриваются как часть приложения), и что сценарии до и после установки иногда путаются, хотя обычно они предупреждают вас, когда считают, что У deb будет плохой сценарий до или после установки.

Другие вопросы по тегам