При установке пользовательских приложений, где «лучшие практики» предполагают, что они расположены?

173

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

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

    
задан citadelgrad 05.08.2010 в 14:42
источник

6 ответов

151

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

Если вам просто нужно извлечь tarball и запустить его напрямую (например, Thunderbird, Firefox), поставьте его в /opt/ .

Почему? Насколько я понимаю, /usr/local/ имеет иерархию, похожую на /usr/ . Таким образом, программа, ожидающая «установить» в /usr/ , должна работать нормально в /usr/local/ . Программа, которая просто нуждается в одном каталоге и получит все файлы / библиотеки относительно этого каталога, может получить один каталог для себя в /opt/ .

    
ответ дан Umang 05.08.2010 в 14:53
источник
89

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

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

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

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

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

    
ответ дан Walt Stoneburner 17.09.2010 в 17:39
30

Установите нестабильные программы, такие как firefox devel in / home / user / opt /, значительно упростит удаление и не путают других пользователей относительно того, какую версию они должны использовать ... Поэтому, если это не программа для глобальных используйте, установите его в подпапку в вашем домашнем каталоге.

Никогда не устанавливайте программы в / usr /, это может вызвать хаос, вещи, установленные в / usr /, предназначены только для дистрибутивных пакетов. / usr / local / для локальных компиляций пакетов. И srtucture работает точно так же! файлов в / usr / local / будет приоритет над файлами в / usr /

/ opt / должен использоваться для установки предварительно скомпилированных (двоичных) пакетов (Thunderbird, Eclipse, Netbeans, IBM NetSphere и т. д.) и т.п. Но если они предназначены только для одного пользователя, их следует поместить в ваш домашний каталог.

Если вы хотите иметь возможность запускать программу, установленную в «странном» местоположении (например, / home / user / opt / firefox /) без ввода всего пути, вам нужно добавить его в переменную $ PATH, вы можете добавьте такую ​​строку в свой /home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

Имя папки должно быть таким, где находится исполняемый файл, который нужно запустить.

    
ответ дан LassePoulsen 07.08.2010 в 08:40
23

Стандарт иерархии файловой системы Linux указывает /usr/local .

От Ссылка :

  

Первоначальная идея «/ usr / local» заключалась в том, чтобы иметь отдельный («локальный»)   '/ usr' на каждой машине, кроме '/ usr', которая может быть просто   смонтирован только для чтения из другого места. Он копирует структуру   '/ USR'. В эти дни «/ usr / local» широко считается хорошим местом в   которые должны содержать самокомпилированные или сторонние программы. / Usr / local   иерархия предназначена для использования системным администратором при установке   программное обеспечение локально. Он должен быть безопасным от перезаписи, когда   обновляется системное программное обеспечение. Он может использоваться для программ и данных, которые   являются доступными среди группы хостов, но не найдены в / usr. в местном масштабе   установленное программное обеспечение должно быть помещено в / usr / local, а не в / usr   если он не установлен для замены или обновления программного обеспечения в / usr.

    
ответ дан popey 05.08.2010 в 14:45
5

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

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

    
ответ дан Javier Rivera 05.08.2010 в 14:57
1

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

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

    
ответ дан A Student at a University 16.08.2010 в 01:41

Ознакомьтесь с другими вопросами по меткам