Где можно установить локальное программное обеспечение, которое работает до / usr?

Я пишу локальную программу, которую вызывается с помощью правила udev IMPORT{program} . Обычно я устанавливаю локальное программное обеспечение в /usr/local , но эти правила udev запускаются при появлении блочных устройств. Таким образом, они работают задолго до того, как /usr обязательно смонтирован.

Я считаю, что мне также придется настроить это для копирования на initramfs (что легко сделать с помощью /etc/initramfs-tools/hooks/ ). Обычно, кажется, что-то использует один и тот же путь в initramfs, как в корневой файловой системе. (редактирование: похоже, мне не нужно добавлять его в initramfs, события перезапускаются после монтирования rootfs)

/etc контролируется версиями, поэтому лучше всего избегать двоичных файлов.

Я думаю, что мой лучший выбор – просто установить это в /lib/udev под именем файла, начинающимся с local- чтобы избежать столкновения с любыми будущими файлами из дистрибутива. Также делает файл правил udev более красивым (поскольку ему не нужно указывать полный путь).

На этом компьютере запущена Debian Squeeze. Есть ли стандартное расположение для этого файла? Я не считаю, что FHS или политика Debian задают один.

2 Solutions collect form web for “Где можно установить локальное программное обеспечение, которое работает до / usr?”

Я бы поставил их в /lib/udev если они были предоставлены пакетом deb и в противном случае.

Если вы развертываете программу на нескольких машинах, я рекомендую сделать пакет deb; это упростит развертывание и отслеживание версий. Вики-страница Debian содержит информацию, или вы можете прочитать Руководство по новым хранителям Debian (игнорируя нетехнические биты). dh делает это ветерок (есть даже dh_installudev ).

Если это только для одной машины, я бы поставил двоичный файл в элемент управления версиями, а также проверить исходный код и make-файл и игнорировать двоичный файл. Вы также можете поместить символическую ссылку в /lib/udev . Я не рекомендую помещать нефасованный файл в /lib/udev потому что вы его забудете.

/lib/udev выглядит довольно разумно. Он не будет вмешиваться во что-либо, не связанное с udev , поэтому управление пакетами не сильно пострадает. Кроме этого, вы остаетесь с новым подкаталогом в /opt/ (потребуется полный путь).

  • Linux отключает / скрывает устройства mtdblock от lsblk
  • Зависимость не удалась для монтирования после dist-upgrade
  • Непонимание смысла команды df
  • Именование сетей в Arch Linux
  • Ubuntu 14.04 - Несколько ручек Powermate для технологии Griffin
  • Справочный материал по управлению устройствами
  • Клонированная система Linux и /etc/udev/rules.d/70-persistent-net.rules
  • 80-net-setup-link больше не работает, когда я понизил systemd
  • Правила Udev для устройства с несколькими интерфейсами
  • Как заставить CUPS отображать USB-принтер как отключенный, когда он отключен?
  • Как определить вставку флоппи-диска в RHEL 7 и выполнить скрипт?
  • Linux и Unix - лучшая ОС в мире.