私はudevルールによって呼び出されるローカルプログラムを作成していますIMPORT{program}
。通常、ローカルソフトウェアをインストールします/usr/local
が、これらのudevルールはブロックデバイスがあるときに実行されます。したがって、長時間実行する前にインストール/usr
する必要があります。
私もinitramfsにコピーするように設定する必要があると思います(これを使用して簡単に実行できます/etc/initramfs-tools/hooks/
)。通常、initramfs のパスはルートファイルシステムのパスと同じように見えます。 (編集:実際にinitramfsに追加する必要はないようです。rootfsをマウントした後、イベントが再起動されます。)
/etc
バージョンが管理されるので、バイナリは避けるのが最善です。
私の考えに最善の選択は、ディストリビューションの将来のファイルとの競合を避ける/lib/udev
ために、ファイル名がで始まるにインストールすることです。local-
これにより、udevルールファイルがより見やすくなります(フルパスを指定する必要がないため)。
このコンピュータはDebian Squeezeを実行しています。このファイルの標準的な場所はありますか?私は信じていませんFHSまたはDebian ポリシー1つを指定してください。
ベストアンサー1
/lib/udev
debパッケージで提供する場合は入れます/etc
。そうでなければ入れます。
複数のコンピュータにプログラムを配布する場合は、deb パッケージを作成することをお勧めします。これにより、展開とバージョンの追跡が簡単になります。これDebian Wiki情報の有無を読むことができます。Debian 新しいメンテナンスガイド(技術的でない部分は無視してください。)dh
これを簡単にします(さらにdh_installudev
)。
これが1台のコンピュータにのみ適用される場合は、バイナリもバージョン管理に入れます。それ以外の場合は、ソースとメイクファイルを確認してバイナリを無視します。にシンボリックリンクを配置することもできます/lib/udev
。解凍したファイルを入れることはお勧めできません。/lib/udev
なぜならそこにいるという事実を忘れてしまうからです。