Почему мой пакет становился установленным на/, выбирают?

На Linux можно использовать ядро inotify функция. Инструменты для сценариев могут быть найдены там: inotify-инструменты.

Использование в качестве примера от Wiki:

#!/bin/sh

EVENT=$(inotifywait --format '%e' ~/file1) # blocking without looping
[ $? != 0 ] && exit
[ "$EVENT" = "MODIFY" ] && echo 'file modified!'
[ "$EVENT" = "DELETE_SELF" ] && echo 'file deleted!'
# etc...

8
26.03.2011, 04:10
4 ответа

Стандарт Иерархии Файловой системы дает эти определения:

  • /opt : Дополнительные пакеты прикладного программного обеспечения
  • /usr/local : Локальная иерархия (для использования системным администратором при установке программного обеспечения локально)

Путем я считал что:

  • Стандартные системные приложения должны войти /bin и /usr/bin (подразумеваемый)
  • Сторонние пакеты должны войти /opt
  • Что-то должно только быть установлено в /usr/local если системный администратор хочет это к

Следовательно, если системный администратор устанавливает что-то использование dpkg или rpm, это не должно входить /usr/local по умолчанию.

Таким образом, это возможно делает правильную вещь.

10
27.01.2020, 20:09
  • 1
    IBM's сервер приложений Websphere входит в/, выбирает. Кроме того, когда я устанавливаю что-то как IBM JDK, я поместил его в/opt/java. –  djangofan 01.02.2012, 23:57

Политика Debian говорит

9.1.2 Сайт-специфичные программы

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

Нет такого определенного запрета на /opt. Политика также добавляет

Местоположение всех установленных файлов и каталогов должно выполнить Стандарт иерархии файловой системы (FHS), версию 2.3, за исключениями, отмеченными ниже, и кроме того, где выполнение так нарушило бы другие условия политики Debian.

и в Стандарте Файловой иерархии говорится

Каталоги /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib, и /opt/man резервируются для локального использования системного администратора.

и затем далее вниз

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

Обратите внимание, что политика для самого Debian, но это обычно соответствует рекомендации лучшей практики. Результат, если я читаю это правильно, то, что не нормально устанавливать двоичный файл (deb) пакеты к /usr/local, но нормально устанавливать в /opt пока это не вмешивается в использование системным администратором пространства.

Мое личное мнение - то, что это - плохая идея иметь deb пакеты в также /usr/local или /opt. Я не соглашаюсь с D4RIO, когда он говорит:

Существует пакет Couchdb для Debian (я имею в виду, чиновник), поэтому если Вы загрузили другого, он в порядке, он должен быть установлен в /opt или /usr/local/bin также.

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

Если это имеет значение я думаю, вставляя deb пакеты /opt плохая идея и единственное недавнее возникновение этого, я видел, с Google Chrome. Однако Google не всегда применяет лучшие методы.

5
27.01.2020, 20:09
  • 1
    Достигните единой точки зрения, что пакет не должен устанавливать на/, выбирают, особенно если он помещает файлы в другом месте также как в/usr/bin. По моему скромному мнению / выбирают, должен содержать полностью сам содержавшее программное обеспечение, таким образом, можно уничтожить его с орбиты путем просто просто удаления его из/, выбирают. –  Arrowmaster 26.03.2011, 18:59
  • 2
    Хорошо большие ответы благодарят, но это установлено на/, выбирают по умолчанию. Если не к / выбирают, то, где я должен установить его на? И как сделать настолько использующий dpkg? –   27.03.2011, 11:39
  • 3
    @Duke: Если можно получить источник deb пакета, можно восстановить deb для установки в систему как регулярные пакеты. Это потребует определенной работы, если Вы не будете уже знакомы с процедурой, но imo, который является корректной вещью сделать здесь. ошибочная –  Faheem Mitha 27.03.2011, 11:54
  • 4
    не соглашается с этим ответом. Существует много ситуаций, где Вы хотите две версии установленного программного обеспечения, можно легко хотеть определенный Python для определенного приложения. Локальный системный администратор мог бы хотеть упаковать этот Python, куда он должен пойти? Локально установленный (делают установку) программное обеспечение входит в/usr/local, 3-е серийное программное обеспечение входит в/opt/-определение пакетов сохранено широким: через dpkg, с помощью установщиков, через ЗЕРНЫШКО, через (вставляют упаковочную предпочтительную систему). Я соглашаюсь, что это - хорошая практика сам содержавший "поставщик/пакеты". миллион –  ashwoods 12.04.2012, 14:34

/opt для стороннего программного обеспечения. Существует couchdb пакет для debian (я имею в виду, чиновник), поэтому если Вы загрузили другого, он в порядке, он должен быть установлен в /opt или /usr/local/bin также.

4
27.01.2020, 20:09

Даже при том, что это не Debian, Инструкции по Упаковке Fedora довольно соглашаются с этим:

… никакой пакет Fedora может иметь любые файлы или каталоги под/, выбирают или/usr/local …

Причина пакетов, не помещая вещи в / выбирает, довольно просто: Как был указан прежде, в Стандарте Файловой иерархии говорится этому …

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

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

Я знаю, что Fedora не является Debian, но я предполагаю, что в этом случае, они весьма схожи. Тем более, что Lintian, инструмент проверки пакета для Debian, имеет специальную ошибку для этого: dir-or-file-in-opt

2
27.01.2020, 20:09

Теги

Похожие вопросы