今時のLinuxはudevが親切にもネットワークインターフェース名とMACアドレスの関係を固定化してくれるんだが、この機能って同じディスクイメージの複製が使いまわされることが前提の仮想マシンを前提にすると非常に邪魔になる。具体的にはコピーしたイメージ上ではeth0が出来なかったり、eth1になっちゃったりとか…。
このMACアドレスの固定化設定は/etc/udev/rules.d/70-persistent-net.rules
というファイルにシェルスクリプトして保存されている。なのでこれを削除してやれば次回起動時は期待通りにeth0が使えるようになる、のだがその際にまたこのファイルが再生成されてしまうので非常に邪魔!
というわけでVMイメージの場合は消すだけじゃなく、以下のようにファイルが出来るべき場所にディレクトリを作っておくことでファイル作成が出来ないようにして防ぐってことをしている。
rm -f /etc/udev/rules.d/70-persistent-net.rules
mkdir /etc/udev/rules.d/70-persistent-net.rules
# 後で見た人がこのディレクトリの意味で悩まないよう、メモを残しておく
echo https://qiita.com/kawaz/items/dc33294c907755e9ee44 >/etc/udev/rules.d/70-persistent-net.rules/README
一応これで良い感じにMACアドレスの固定化を避ける事が出来るようになる。
元に戻したければこのディレクトリを削除してやれば良い。
rm -rf /etc/udev/rules.d/70-persistent-net.rules
もしもっとスマートな方法があるよ、ってのがあれば教えてください(^^;