2017年9月10日日曜日

Raspbian Stretchの迷走(?)



2017-09-07-raspbian-stretchでネットワークインターフェースの命名規則が変わった。
というか、「元に戻った」。
http://downloads.raspberrypi.org/raspbian/release_notes.txt

Raspbian jessieまでのバージョンでは、ネットワークインターフェースには、
eth0、eth1(無線なら、wlan0、wlan1)等の名前が付けられていた。
それが、Stretchからは、インターフェース機器のMACアドレスを基に生成する
enx??????????、wlx??????????("??????????"はMACアドレス)と言う形式になった。
 これまでの、eth0、eth1などの番号は、kernelがネットワークインターフェースを
読み込む順番で振られている為、読み込みの順番によっては、インターフェース名が
変化してしまう可能性があった。
そこで、MACアドレスを使用して(簡単には)変化しないインターフェース名の
採用になったものと考える。(←私の勝手な推測)

これが、
"predictable network interface names"
 予測可能なネットワークインターフェース名の筈だ。

つまり、順番によって変化する名前は「予測不可能」で、MACアドレスは機器に
固有なので「予測可能」と言うことなのだろう。
この変更で、"dhcpcd.conf"にインターフェース名を指定してIPアドレスの固定を
していた場合など、その再設定をしなければならなかった。

でも、それはそれで、まあ理解できる変更だと思う。

それなのに、だ!

その変更から1ヶ月程度で、何故か、元に戻された。
"Disable predictable network interface names for Ethernet devices"
 リリースノートには上記のみで、他の説明が無いので、変更理由は不明。

少なくとも、或るポリシーがあって変更されたシステムが簡単に戻されてしまうのは、
如何なものかと思いながら、eth0、wlan0形式へ再度設定を書き直すのである。

何度かTwitterで呟いたが、
「updateしたら諸々動かなくなりました」ってIoTの民主化なの?
 https://twitter.com/AO_o10yan/status/844033086383841280

※追記1(2017/09/13 21:30)※
ここhttps://www.raspberrypi.org/forums/viewtopic.php?t=191639#p1204352
を参考にして、私の環境で確認して見たところ、やはり
"/etc/systemd/network/99-default.link"("/dev/null"へのシンボリックリンク)が
在ると"wlan0"形式、無いと"wlx????????????"形式になるようです。
実は、色々といじり過ぎているので、これが本当に効いているのかは自信が有りませんが、、、。
※追記2(2017/09/14 22:00)※
"2017-09-07-raspbian-stretch.img"をmicroSDへ焼き直して、素の状態で試して見ましたが、
上記の「追記1」と同じ結果を得ました。
尚、"/etc/systemd/network/99-default.link"無しの状態、詰まり"wlx????????????"形式の
表示状態から、カーネルコマンドラインに"net.ifnames=0"とすれば、"wlan0"になりました。
オプションの選択肢が複数あるということです。