coLinux id:naoyaさんの記事の補足

WEB+DB PRESS Vol.40

WEB+DB PRESS Vol.40

の「Linux開発環境」という記事。「編集の方に煽られた」と言うぐらいで、id:naoyaさんにとっては、やや出涸らし気味のネタながら、よくまとまっているので紙媒体で出たのは便利。

LinuxとかFedora Coreに関する一般的な設定などは省略して、記事と同じ方法でcoLinuxを導入する場合に自分が施した設定について、備忘録を兼ねていくつか。

ネットワーク接続のハマリどころ

アドレスがバッティングする場合の回避法

ホームネットワークなどで192.168.0.0/24のネットワークを使っている場合、記事と同様の手順でネットワーク接続をすると、WindowsにNATの設定を施す部分で、「インターネット接続の共有」設定の保存に失敗する可能性が高い。
Windowsが自動的に振るアドレスが192.168.0.1なので、このアドレスがgatewayなどに使われていると、バッティングしてしまうのが理由。この場合は、一度192.168.0.1のネットワークに接続されているインタフェースのアドレスをstaticに192.168.1.1にでもふり直した上で、TAP-Win32に対する「インターネット接続の共有」を設定し、改めて先ほど設定を変更したインタフェースのアドレス設定を元に戻すと、うまくいく。困ったもんだ。

coLinuxのアドレスをstaticにする

記事通りに

/etc/sysconfig/network-scripts/ifcfg-eth0

を編集しただけでは、手元の環境ではdhcpからアドレスを拾ってしまっていた。アドレスをstaticにするためには

/usr/sbin/system-config-network

を使って、"Use DHCP"のチェックを外せばよい。

MACアドレスのエラーを消す

なぜか

/etc/sysconfig/network-scripts/ifcfg-eth0

でMACアドレスが指定してあり、それが原因で起動中にエラーが出るので、"HWADDR="の行をコメントアウト(行頭に#を追加)する。

タイムゾーンをJSTに

#cp /usr/share/zoneinfo/Japan /etc/localtime

Windowsからsmbdに名前でアクセス

記事では、Windowsのhostsファイルを編集してSSHなどでcoLinuxのIPアドレスを直接叩かなくても済むようにする方法が書かれているが、同じく記事で触れられているSambaにアクセスするために、Windowsのエクスプローラのアドレスバーに

\\colinux\

と入力しても、Linuxのファイルシステムにアクセスすることはできない。

これは、SambaがNetBIOSで名前解決をしているから(?)。そこで、hostsファイルと同様に、NetBIOS名のマッピングを決め打ちするためのlmhostsファイルにcoLinuxのIPアドレスを書き込む。
場所は

C:\WINDOWS\system32\drivers\etc

で、hostsと同じ。そのディレクトリにあるlmhosts.samという名前のサンプルファイルをrenameしてから編集するか、テキストエディタで新しくlmhostsファイルを作る。内容は以下の通り:

192.168.100.2    colinux

(hostsとは、ホスト名とIPアドレスの位置が逆になっている)

Windows XPではlmhostsの参照がデフォルトではoffになっているので、ネットワーク接続の設定(Win-TAPのものでも、WAN/LAN用のものでも、どれでもいい)のプロパティを開いて、「この接続は次の項目を使用します」の一覧から「インターネット プロトコル (TCP/IP)」を選んで、「プロパティ」をクリック。さらに、右下の「詳細設定」をクリックして、「WINS」タブを表示させ、「LMHOSTSの参照を有効にする」にチェックを入れる。

これで、NetBIOSの名前解決において、lmhostsが参照されるようになる。

最後に、設定を反映させるために

nbtstat -R

をコマンドプロンプトから入力(単純にWindowsを再起動してもよい)。

以上で、めでたく名前で直接Sambaディレクトリにアクセスできる。

vncserverを止める

Fedora7 FSを作った人の親切心に違いないが、SSHでWindowsから接続するのであれば不要。リソースの無駄遣いでもある。

#chkconfig vncserver off

今後も使わないのであれば、いっそのこと削除

#yum remove vnc-server

ログイン時のメッセージを消す

デフォルトでは、ログインすると

You can connect to this virtual machine using the vnc address:

  127.0.0.1:1

Once logged into an X11 session, you can add packages by running pirut.

というメッセージが表示される。

しかし、この手のメッセージをログインのたびに繰り返し表示する必要はない。

このメッセージの内容は、/etc/motdというファイルが参照されているので、

#echo -n "" > /etc/motd

によって、/etc/motdファイルの内容を空にすれば、不要なログインメッセージが表示されなくなる。(echoに-nオプションがないと、改行が入ってしまう。)