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


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

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


184
2017-08-05 14:42


происхождения


Liking, чтобы устанавливать вещи из источника так часто, я написал маленький инструмент для этого который сам вносит изменения в файл запуска оболочки (а также модифицирует префикс библиотеки, если вы его просите, для программ, зависящих от разделяемых библиотек). Не очень многофункциональный, но работает 99% времени. - new123456
Похожие сообщения: askubuntu.com/q/138547/62483 - Lucio
Отличная дискуссия о различии между /opt а также /usr/local : unix.stackexchange.com/q/11544/11917 - blong


ответы:


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

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

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


163
2017-08-05 14:53



Кажется, многие забывают о opt/ - По-моему, ты ударил ноготь по голове, как по назначению. - Marco Ceppi♦
Я загрузил eclipse & extract в / opt. Как я могу запустить его с терминала, как и другие программы, такие как javac, java. Я сделал с альтернативами обновлений, как описано ниже: sudo update-alternatives --install "/ usr / bin / eclipse" "eclipse" "/ opt / eclipse / eclipse" 1 НО БУДЕТ ЗАПИСАТЬ КОМАНДУ НЕ НАЙДЕНА Я ТИП sudo eclipse - Deepen
Создайте символическую ссылку из / usr / bin или добавьте ее в PATH в ~ / .bashrc - Alex


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

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

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

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

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


99
2017-09-17 17:39



Стоит помнить, что «системные ресурсы unix» - это переименование, выполненное в AFTER '/ home'. В старые, старые, старые дни (Unix Version 6 et.al.) вы увидите каталоги, такие как / usr / jimmy, / usr / siobhan, / usr / ahmed и т. Д., Потому что «пользовательские» каталоги были сохранены в / usr , - Mark Leighton Fisher
Хорошо, я укушу: что выбрать? - Seth
@Seth Я думаю, что это «необязательно» - это было первоначально для программного обеспечения, которое не было частью установки по умолчанию. - Carl H
/ usr - User, Это объясняется тем, что пользователями Linux были разработчики. Сначала, когда он начал делиться с разработчиками и пользователями, /home dir. И тогда у кого-то появилась идея сказать, что это означает Unix System Resources, что на самом деле не имеет смысла, поскольку мы имеем Unix system Resources в /dev - Info-Screen
Правильно, / usr является backronym. Цель изменилась с тех пор, как Unix работал на PDP-7 еще в 1969 году. - Walt Stoneburner


Установите нестабильные программы, такие как 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

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


30
2017-08-07 08:40





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

Из http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html:

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


25
2017-08-05 14:45



Кажется, это противоречит этому / usr / местному материалу с информацией на странице opt: tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html «Этот каталог зарезервирован для всего программного обеспечения и дополнительных пакетов, которые не являются частью стандартной установки. Например, здесь можно найти пакеты StarOffice, Kylix, Netscape Communicator и WordPerfect. Чтобы соответствовать требованиям FSSTND, все сторонние приложения должны быть установлены в этом каталоге. «...» (аналогично тому, как Windows будет устанавливать новое программное обеспечение в свое собственное дерево каталогов. C: \ Windows \ Progam Files \ "Название программы ")" - Pod


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

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


5
2017-08-05 14:57



Как я могу переустановить Ubuntu 16.04 без потери данных в домашней папке? Я попытался создать formate / только тогда введите одно и то же старое имя пользователя и пароль, но я обнаружил, что Ubuntu создает другую домашнюю папку. - Ibrahim Disouki


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

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


1
2017-08-16 01:41