Некоторое время назад я установил couchdb из исходного кода на мою машину с Debian. Казалось установить нормально и все заработало.
Несколько недель спустя я хотел обновить и установить с .deb, используя dpkg. Кажется, теперь все установлено под /opt
. Кажется, все работает нормально, но я не совсем понимаю, почему все это было установлено под /opt
. Он не чувствует , как «гладкий» , как , когда вещи были установлены непосредственно в /usr/local/bin
и /etc
и /var/log
. Это более громоздко, чем когда я ранее редактировал файлы конфигурации, которые были установлены в / etc / couchdb
Не возражает ли кто-нибудь объяснить мне, почему установка на /opt
«это хорошо» и почему это лучший способ сделать что-либо, чем предыдущая установка, которая была из источника?
Я знаю, что это довольно расплывчатый вопрос, но я только компетентен в Linux, не являюсь экспертом и не понимаю, что стоит за установкой /opt
Ответы:
Filesystem Hierarchy Standard дает следующие определения:
/opt
: Дополнительные прикладные программные пакеты/usr/local
: Локальная иерархия (для использования системным администратором при локальной установке программного обеспечения)То, как я это прочитал:
/bin
и/usr/bin
(подразумевается)/opt
/usr/local
если системный администратор хочет, чтобы этоК тому же, если системный администратор устанавливает что-
dpkg
либоrpm
, используя или , он не должен входить/usr/local
по умолчанию.Так что это возможно делает правильные вещи.
источник
Политика Debian гласит:
Там нет такого конкретного запрета против
/opt
. Политика также добавляети стандарт файловой иерархии говорит
а затем дальше вниз
Обратите внимание, что политика предназначена для самого Debian, но в целом соответствует рекомендациям. В результате, если я правильно читаю, установка двоичных (deb) пакетов не разрешена
/usr/local
, но установка в порядке,/opt
если она не мешает использованию пространства системным администратором.Мое личное мнение таково, что плохая идея иметь пакеты deb в одном
/usr/local
или в/opt
. Я не согласен с D4RIO, когда он говорит:Как правило, вам не нужны два разных deb-пакета, соответствующих одному и тому же установленному программному обеспечению, и, если они на самом деле имеют одинаковое имя пакета, dpkg все равно не допустит этого. Неофициальные пакеты программного обеспечения Debian, доступные как официальные пакеты, обычно (но не всегда) имеют то же имя, что и официальные; Вы просто устанавливаете один или другой, а не оба.
Что бы это ни стоило, я думаю, что помещать пакеты deb
/opt
- плохая идея, и единственное, что я видел в последнее время, - это Google Chrome. Однако Google не всегда следует передовым методам.источник
/opt
для стороннего программного обеспечения. Существует CouchDB пакет для Debian (я имею в виду, официальный), так что если вы загрузили другой, это нормально, он должен быть установлен в/opt
или/usr/local/bin
либо.источник
Несмотря на то, что это не Debian, в Руководстве по пакетированию Fedora об этом ясно сказано :
Причина, по которой пакеты не помещают вещи в / opt, довольно проста: как указывалось ранее, Стандарт файловой иерархии утверждает, что…
Это то, что не может быть гарантировано пакетами, поскольку установка или обновление может изменить такие данные.
Я знаю, что Fedora не Debian, но я думаю, что в этом случае они очень похожи. Тем более что Lintian, инструмент проверки пакетов для Debian, имеет специальную ошибку для этого: dir-or-file-in-opt
источник