久しぶりにLinux環境。VMな環境を構築してみることにする。
最近では、インストールが簡単で、ちゃんとした(?)ユーザ環境をパッケージングしたディストリビューションも出ているよう(wですが、あくまで開発用のプラットフォームなので、GUI環境は不要。
大分前に作ったのは、デュアルブート環境だったけど、今回は、VM上で作ってみる。しかし、浦島状態だな。
ディストリビューションはFedora Core 12にしようかと思ったんだけど、VMで動作させるので、とりあえず、Fedora 9にしてみた。Fedora Core 9でもちょいと古いんだよね。
VMwareにインストールするのは至極簡単。
でも起動時にNetworkデバイスeth0がupされていない。
コンソールでloginして/sbin/ifup eth0とすると、ちゃんと使えるようになる。
Googleで検索すると出てくる、出てくる。
どうやらNetworkManagerが悪さをしているらしい、ということで、
■ネットワークマネージャーの停止と自動起動の無効
# /etc/rc.d/init.d/NetworkManager stop # chkconfig NetworkManager off
■ネットワークサービスの開始と自動起動設定
# /etc/rc.d/init.d/network start # chkconfig network on
で起動時にeth0が使えるようになった。
仮想環境のlinuxをコピーしたり,ネットワークデバイスを追加したり削除したりするとeth0の番号部分がどんどん増えていって気持ち悪かったんだ。
でも使えているので,放置していたんだけど,いつの間にかeth5とかなっているので調べてみたらカナダから教えてもらいました。
http://www.kanadas.com/weblog/2010/06/linux_ethernet.html
というわけで,ここから先はメモ
# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules # program run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a sigle line # PCI device 0x1022:02000 (pcnet32) SUBSYSTEM=="net", <-- 実際には一行 ACTION="add", DRIVERS=="?*", ATTR{addresss}=="00:0x:xx:xx:xx:xx" ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x1022:020xx (pcnet32) SUBSYSTEM=="net", <-- 実際には一行 ACTION="add", DRIVERS=="?*", ATTR{addresss}=="00:0x:xx:xx:xx:xx" ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x1022:020xx (pcnet32) SUBSYSTEM=="net", <-- 実際には一行 ACTION="add", DRIVERS=="?*", ATTR{addresss}=="00:0x:xx:xx:xx:xx" ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
となっているので,ネットワークインタフェースを削除した場合など,古い記述は削除したり,変更すれば思い通りの番号になる。 いや,すっきりした。