ファイル/etc/udev/rules.d/70-persistent-net.rules
は、再起動中に、udevを使用してLinuxシステム上に存在しない場合、自動生成されます。ただし、サーバーを再起動せずに、このルールファイルを(コマンドを使用して)作成する方法を知りたいと思います。
私はしばらくの間グーグルで探していましたが、このスクリプトによってルールファイルが生成されることがわかりました。
/lib/udev/write_net_rules
ただし、いくつかの環境変数を適切に設定して、udevで起動したいので、コマンドラインからこのスクリプトを実行することはできません。手動で起動すると、「missing $ INTERFACE」というエラーメッセージが出力されます。スクリプトの開始前にenv変数INTERFACE = eth0を設定しても、「有効な一致が見つかりません」というエラーが出力されます。言うまでもなく、2つのインターフェイス(eth0
およびeth1
)があり、両方のルールファイルを生成する必要があります。
また、このようなudevイベントをトリガーして、udev自体からスクリプトを開始することを望んでいましたが、何も変わりません:
udevadm trigger --type=devices --action=change
だから、誰も/etc/udev/rules.d/70-persistent-net.rules
再起動せずにファイル内の永続的なネットルールを再生成する方法を知っていますか?
70-persistent-net.rules
も持っていないので、関連があるかもしれません/lib/udev/write_net_rules
。したがって、確認することはできませんが、おそらく$INTERFACE
変数はスクリプト自体に設定されています。ほとんどの場合、引数として渡されます。スクリプトの内容を見せていただけますか?
$INTERFACE
変数を使用します。単純に使用され、宣言されていない変数がずっと多くあります。これは、udevによって呼び出され、udevがブート時にスクリプトを実行する前にすべてのenv変数を設定するためです。