Predictable namingを無効化するメモ

ヘッドレスでラズパイのSDカードを使いまわす場合、Predictable Network Interface Namesの命名ルールが邪魔になるので、無効化する。

① predictable naming を無効化

sudo nano /boot/cmdline.txt

1行の末尾に追記(改行しない):

net.ifnames=0 biosdevname=0

② オンボードLANを eth0 に固定する udev ルール作成(必須ではない)

sudo nano /etc/udev/rules.d/70-onboard-eth.rules

中身(Pi 2 / 3 / B+ 共通)

SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“smsc95xx”, NAME=“eth0”

③ /etc/network/interfacesを編集

オンボードNICのデバイス名をeth0に変更

④ SDカード移植後、machine-id を再生成

rm -f /etc/machine-id
systemd-machine-id-setup

●machine-idを直接生成して書き込む場合

・例として、別システムの /mnt/media/ にシステムディスクをマウントして書き込む場合
cat /proc/sys/kernel/random/uuid | tr -d ‘-’ | sudo tee /mnt/media/etc/machine-id

⑤ まとめ(実務視点)

・/etc が書ければ今回の作業は全部できる
・/boot は初回だけ
・SD 移植後は /etc だけ触れば復旧可能
・ヘッドレス運用でも詰まない