На 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...
Стандарт Иерархии Файловой системы дает эти определения:
/opt
: Дополнительные пакеты прикладного программного обеспечения /usr/local
: Локальная иерархия (для использования системным администратором при установке программного обеспечения локально)Путем я считал что:
/bin
и /usr/bin
(подразумеваемый)/opt
/usr/local
если системный администратор хочет это кСледовательно, если системный администратор устанавливает что-то использование dpkg
или rpm
, это не должно входить /usr/local
по умолчанию.
Таким образом, это возможно делает правильную вещь.
Политика 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 не всегда применяет лучшие методы.
/opt
для стороннего программного обеспечения. Существует couchdb пакет для debian (я имею в виду, чиновник), поэтому если Вы загрузили другого, он в порядке, он должен быть установлен в /opt
или /usr/local/bin
также.
Даже при том, что это не Debian, Инструкции по Упаковке Fedora довольно соглашаются с этим:
… никакой пакет Fedora может иметь любые файлы или каталоги под/, выбирают или/usr/local …
Причина пакетов, не помещая вещи в / выбирает, довольно просто: Как был указан прежде, в Стандарте Файловой иерархии говорится этому …
Дистрибутивы могут установить программное обеспечение в/, выбирают, но не должен изменять или удалять программное обеспечение, установленное локальным системным администратором без согласия локального системного администратора.
Это - что-то, что не может быть гарантировано пакетами как установка, или обновление может изменить такие данные.
Я знаю, что Fedora не является Debian, но я предполагаю, что в этом случае, они весьма схожи. Тем более, что Lintian, инструмент проверки пакета для Debian, имеет специальную ошибку для этого: dir-or-file-in-opt