Gentooでネットワークを自動起動できなかった件 その2

先日ネットワークアダプタの名前でネットワークの自動起動が上手くいかなかった件ですが、Gentoo的に正しいであろうenp?s?にすることができたので再度メモ。

正常に自動起動できるマシンのdmesgを見ると、systemd-udevdがネットワークアダプタの名前をeth?からenp?s?に変更しているようです。

# dmesg | grep enp
[    6.337052] systemd-udevd[2295]: renamed network interface eth0 to enp0s3

systemd-udevdの設定なり内容を変更すればよさそうで、6.62. Udev-206 (systemd-206 から抽出)を読むとudevadmでハードウェアの登録情報を初期化することができるのでそいつを実行してみます。

# udevadm hwdb --update

初期化された後に命名されるであろうネットワークアダプタ名は下記のように実行すると、ID_NET_NAME_PATHで確認できます。

# udevadm test-builtin net_id /sys/class/net/eth0/ 2>/dev/null
ID_NET_NAME_MAC=%MACアドレス%
ID_OUI_FROM_DATABASE=ASRock Incorporation
ID_NET_NAME_PATH=enp2s0

再起動する前に古い設定を削除して新しい設定を用意しないといけません。

# rc-update del net.eth0
# rm /etc/init.d/net.eth0
# rm /etc/udev/rules.d/76-net-name-use-custom.rules
# ln -s /etc/init.d/net.lo /etc/init.d/net.enp2s0
# rc-update add net.enp2s0 default
# nano /etc/conf.d/net
dns_domain_lo="local.example.com"
config_enp2s0=( "192.168.10.14 netmask 255.255.255.0 brd 192.168.10.255" )
routes_enp2s0=( "default via 192.168.10.1" )

dns_servers_enp2s0=("192.168.10.1")

これで再起動すればOK。