Q. ノートパソコンに Samba をインストールしてから再立ち上げをすると、他の Windows マシンのネットワークコンピュータに Samba を動かしているマシン が出てきません。 A. 原因はいくつも考えられますが、これは PC カードイーサネット (PCMCIA Ethernet Card) を使った場合の典型的な症状です。ここでは、Samba を例に とって説明しますが、他にも Apache や named でも問題があることが知られ ています。 一口で言うと FreeBSD の起動シーケンスで、PC カードの認識前に Samba 特に nmbd(8) が起動されてしまう事が原因です。 まず、PAO-FAQ の 606 番を読んでください。 <URL:http://home.jp.FreeBSD.org/~toshi/PAO3/PAO-FAQ.jp.html#606> Samba については inetd(8) から起動させるようにする事でも問題を回避でき ますが、inetd への登録は無条件に可能なわけでは無く、Samba 以外のプログ ラムでもこの技が使えるという意味ではありません。Samba を ports/packages からインストールしたのならば、以下の様な手順で inetd から動かすように 変更できます。 1. Samba の起動スクリプトを削除します。 # rm -f /usr/local/etc/rc.d/samba.sh 2. /etc/inetd.conf で、以下の2カ所 "#" のコメントマークをはずして、 --- # Enable the following two entries to enable samba startup from inetd # (from the Samba documentation). # netbios-ssn stream tcp nowait root /usr/local/sbin/smbd smbd netbios-ns dgram udp wait root /usr/local/sbin/nmbd nmbd 3. inetd に /etc/inetd.conf の変更を認識させます。 # kill -HUP `cat /var/run/inetd.pid` FreeBSD 3.2-RELEASE からは標準で TCP Wrappers が有効になってますので、 /etc/hosts.allow の設定を間違うと全く使えなくて悩む事になります。詳し くは hosts_access(5) や inetd(8) を確認してください。 もし、PC カードを使用中に抜き挿しするなら、/etc/pccard.conf のエントリ に以下の行を追加します。PC カードデータベースの書式については pccard.conf(5) や、PAO 方面のドキュメントを参考にしてください。 remove killall nmbd これで他の Windows マシンのネットワークコンピュータから、Samba を動か しているマシンにアクセス出来れば問題解決です。
グループ名: PC-card