udev名前が変更されたインターフェイスの元のネットワークインターフェイス名を見つける方法はありますか?

udev名前が変更されたインターフェイスの元のネットワークインターフェイス名を見つける方法はありますか?

実行すると、ip addr show名前が付けられたか、類似のインターフェースが表示されますenp3s0f0

この名前はで指定されましたudev

ドライバのインストール/後にこの現象が発生します。

したがって、luksファイルが暗号化された後に発生します。

initramfsにSSHサーバーdropbearをインストールして、ネットワーク経由でパスワードプロンプトを復号化できるようにしたいと思います。これを行うには、dropbearにどのネットワークインターフェイスを受信するかを知らせ、dhcpinitramfsでそれを有効にする必要があります。これにはネットワークインタフェース名が必要です。

驚くべきenp3s0f0ことに、元の名前が何であるかを簡単に知る方法が見つかりません。ホストにポートが多く、ブートが遅い場合は、試行するたびに2回再起動する必要がある試行錯誤が面倒です。

名前の変更が完了したらすぐに調べるために実行できるコマンドはありますか?

答え1

システムログを使用して名前変更履歴を表示できます。

journalctl -b 0 -g "renamed from"

答え2

私はいません。しかし、OPが投稿した質問に対する答えがありますが、ツールがあります。dracut-sshdこれは、OPが処理する操作(ブートコンソールに復号化パスワードを入力するのではなく、SSHを介して暗号化されたボリューム、ルート、およびその他のデータファイルシステムの復号化鍵を受信する)のために特別に作成されました。

新しいインターフェース名から initramfs ランタイムに知られている元のインターフェース名でリバースルックアップを自動的に実行する良い方法が見つかった場合は、この回答を更新します。同様の要件があります。おそらく、ネットワークインターフェイスを呼び出してip =コマンドライン引数で説明されているようにアドレスを設定する前に、initramfsにインターフェイス名の変更をプッシュする必要があります。カーネルドキュメント - nfsroot.txt)

ノート処置: インターフェース名が変更された後、元のudevadm info -q property /sys/class/net/<ifname>名前はどの属性にも表示されません。名前を変更する前に元の名前を記録する戦略かもしれません(名前を変更するときに保存するのに便利な場所がある場合は - おそらく/ run?)。これは、標準ツールを使用する技術ではなく、「直接実行する」アプローチです。

関連情報