![/usr/lib/systemd/system/[email protected] の再生成をトリガーするにはどうすればよいですか?](https://rvso.com/image/1627343/%2Fusr%2Flib%2Fsystemd%2Fsystem%2F%5Bemail%20protected%5D%20%E3%81%AE%E5%86%8D%E7%94%9F%E6%88%90%E3%82%92%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
wpa_supplicant には、 という標準の systemd ネットワーク設定ファイルがあります。これらは、おそらくこれに関連するパッケージをインストールすることによって、ある時点で自動的に生成されます。/usr/lib/systemd/system/[email protected]
これらのファイルを手動で再生成するにはどうすればよいですか?
私のシステムでは、ファイルはどのパッケージにも所有されていません。これはおそらく、ファイルがローカルで生成されるためでしょうが、そのせいでファイルの出所を把握するのが非常に難しくなっています。パッケージ マネージャーのログから、私のファイルは をインストールしたときに最後に更新されたと推測していますntp
。ただし、ntp (または systemd や wpa_supplicant) をアンインストールしたり再インストールしたりしても、何も変わりません。
これを実行する理由: ハードウェアを変更すると、デバイス アドレス ( の X wlpXs0
) が再割り当てされる可能性があります。この場合、systemd 構成は正しくなくなり、ネットワーク デバイスが見つかりません。
システム: Arch Linux、カーネル 5.7.6、systemd 245.6、wpa_supplicant 2.9
答え1
標準のArch Linuxパッケージでは、これらのファイルは生成されません。まったくそもそも、それらはシステム上に存在すべきではありません。(さらに、ツールやパッケージは、動的に生成されたファイルを /usr の下に書き込むべきではありません。これにはいくつか例外がありますが、通常、生成されたファイルは /etc、/var、または /run の下にのみ表示されます。)
wpa_supplicantパッケージには、ユニットをインスタンス化するためのテンプレートとして機能する単一のユニットファイルが同梱されています。/usr/.../[email protected]
wpa_supplicant@interface.service
記憶にただし、これらはファイルシステムに書き込まれることはありません。
これらの仮想インスタンスを 'systemctl enable' しようとすると、例のように名前が付けられたシンボリックリンクが作成されます/etc/systemd/system
が、それらはすべて同じテンプレート ファイルを指します。(また、これらのシンボリックリンクは /etc の下にあり、/usr/share の下にはありません。)