6

Пакеты, установленные с помощью synaptic, обычно хорошо установлены в вашей системе (например, bin в /usr /bin / и т.д.). Однако, когда программного обеспечения нет в репозитории, я всегда задаюсь вопросом, где мне его устанавливать, когда все собирается вместе (т. Е. / Bin, / var, / man - все подпапки в основной папке программного обеспечения).

На данный момент я выбрал /var /opt / или / usr / share, но я не совсем уверен, что это лучшая практика ... есть ли какие-то рекомендации по этому поводу?

5 ответов5

4

Обычное местоположение us /usr/local или /opt . Из иерархии каталогов Linux:

/usr/local, /opt

Это устаревшие папки. Когда в UNIX не было системы пакетов (например, RPM), системным администраторам требовалось отделить дополнительное (или локальное) ПО от основной ОС. Это были каталоги, используемые для этого.

4

/usr/local предназначен для этого

Посмотрите на checkinstall: https://help.ubuntu.com/community/CheckInstall

sudo checkinstall make install

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

2

/usr/local/ мой любимый.

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

/opt/ это еще один распространенный выбор. Мне это не нравится Это смешно. Вы можете найти это хорошо. /var/opt/ чувствует себя совершенно неправильно - /var/ - это хранилище данных, а не двоичных файлов.

0

На самом деле существует (более или менее) авторитетное руководство по размещению файлов в системах Linux: Стандарт иерархии файлов (FHS).

Я бы поместил файлы в /opt или в /usr/local .

0

/usr/local для двоичных файлов плюс /var/local для данных - хороший выбор. Основная причина в том, что все в /usr обрабатывается вашим дистрибутивом (т.е. может быть удалено или перезаписано), в то время как все в /usr/local обрабатывается вами. Кроме того, две иерархии хорошо параллельны (например, у вас есть /usr/include и /usr/local/include и т.д.), Поэтому навигация довольно интуитивна.

Если вы используете autotools, ./configure --prefix=/usr/local часто дает желаемый результат прямо из коробки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .