Изредка я устанавливаю приложения вручную, а не с помощью apt
или другого менеджера пакетов.
Что место ( /usr/
, /usr/local/
, /opt/
, /home/
и т.д.) было предложено «наилучшей практики» для установки пользовательских приложений?
Изредка я устанавливаю приложения вручную, а не с помощью apt
или другого менеджера пакетов.
Что место ( /usr/
, /usr/local/
, /opt/
, /home/
и т.д.) было предложено «наилучшей практики» для установки пользовательских приложений?
Ответы:
Это зависит, действительно. Если у приложения есть make-файл или, например, для приложений на python, если приложение использует distutils (например, имеет setup.py
файл), или подобную систему сборки / установки, вы должны установить ее в /usr/local/
. Это часто - поведение по умолчанию.
Из того, что я понимаю, /usr/local/
есть иерархия, которая похожа на /usr/
. Однако такие каталоги, как /usr/bin/
и /usr/lib/
обычно, зарезервированы для установки пакетов через apt
. Таким образом, программа, ожидающая установки, /usr/
должна нормально работать /usr/local/
.
Если вам просто нужно извлечь tarball и запустить его напрямую (например, Firefox), поместите его в /opt/
. Программа, которая нуждается только в одном каталоге и получит все файлы / библиотеки, относящиеся к этому каталогу, может получить один каталог для себя /opt/
.
opt/
по моему мнению, вы ударили ноготь по голове.
~/.local/share
? @Marco
~
(ваш домашний каталог), но это сделает приложение доступным только одному пользователю. Другие пользователи вашей системы должны будут установить и поддерживать свои собственные установки этого программного обеспечения. Что касается рекомендаций по установке приложений, устанавливающих домашний каталог, я считаю, что таких строгих рекомендаций нет, поскольку вы не будете мешать системным пакетам.
Хорошо помнить, что это /usr
означает не пользовательские, а системные ресурсы unix .
Таким образом, я склонен полагать, что любой дистрибутив имеет право растоптать все содержимое /usr,
и что в него включены мои конкретные дополнения к системе /usr/local
, которые я сохраняю перед обновлением.
Между тем, приложения и другие вещи входят /opt
.
Некоторые люди чувствуют себя комфортно /home
, хотя я редко следую этому соглашению.
После всего этого я позволил менеджеру дистрибутива сначала делать что-то по-своему, а затем, когда выполнял ручную работу, делал то же самое.
User
. Это потому, что пользователи Linux были разработчиками. Во-первых, он начал делиться на разработчиков и пользователей /home
. А потом кто - то пришла в голову идея сказать , что это означает Unix System Resources
, что на самом деле не имеет смысла, потому что мы имеем Unix system Resources
ин/dev
Установите нестабильные программы, такие как 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.
У меня есть одно большое преимущество, когда я переустанавливаю или меняю компьютеры, они перемещаются вместе с остальной частью моего дома. У него есть явный недостаток, эти приложения доступны только моему пользователю.
/
директории форматирования только затем, введя то же старое имя пользователя и пароль, но обнаружил, что Ubuntu создает другую домашнюю папку.
Используйте "checkinstall", чтобы преобразовать ваш инопланетный пакет в deb, чтобы его можно было удалить с помощью менеджера пакетов.
Обратите внимание, что файлы конфигурации часто не обрабатываются как файлы конфигурации (возможно, игнорируются или, возможно, рассматриваются как часть приложения), и что сценарии до и после установки иногда путаются, хотя обычно они предупреждают вас, когда считают, что У deb будет плохой сценарий до или после установки.