田川と申します。Sambaのことで質問をします。 Sambaを導入したFreeBSD5.4のマシンにFAT32のドライブをマウントして、 Windowsマシンから直接マウントしたFAT32領域に書き込むとファイルが壊れま す。
書き込んだ後すぐに読み込んでみると問題なく読み込めますが、リブートして立 ち上げたWindowsからSamba経由で書き込んだファイルを読み込んでみると、ファ イルが壊れていてアクセスできません。またリブートして再度FreeBSDを立ち上 げ、マウントしたFAT32に書き込んだファイルをWindowsマシンから読み込んでみ るとこれもファイルが壊れていることが解ります。 FreeBSDのヴァージョンによって変わるのかと思い、デスクトップのFreeBSD6.0 で同じことを試してみましたが、現象は同じでした。 不思議なことに同じようにFAT32領域をマウントしたLinuxで、Samba経由で直接 Windows経由で書き込んでもこのような現象は起こりません。 又、FreeBSDのUFSの領域にWindowsから一旦書き込み、書き込まれたFreeBSDで UFSの領域からFAT32の領域にコピーしてやるとファイルは壊れません。 なんとなくFreeBSDのファイルシステムの問題のような気がしますが、このよう な現象について対処方法を御存じの方はいらっしゃらないでしょうか? 以下に私の環境と設定について書きます。 SambaはPortsからインストールしています。(libiconvはコンパイル時に WITH_EXTRA_PATCHES=yesとしてコンパイルしています。) マシン: IBM ThinkPad s30 OS: FreeBSD5.4 (Windows XP Professional とのデュアルブート) Samba: ja-samba-3.0.21b_1,1 libiconv: libiconv-1.9.2_2 /etc/fstabの内容(以下の/mnt/windowsにFAT32の領域をマウントしています。) # Device Mountpoint FStype Options Dump Pass# /dev/ad0s3b none swap sw 0 0 /dev/ad0s3a / ufs rw 1 1 /dev/ad0s3e /tmp ufs rw 2 2 /dev/ad0s3f /usr ufs rw 2 2 /dev/ad0s3d /var ufs rw 2 2 /dev/ad0s5 /mnt/windows msdosfs noexec,-L=ja_JP.eucJP,-D=CP932,rw 0 0 /usr/local/etc/smb.confの内容 #======================= Global Settings ===================================== [global] dos charset = cp932 unix charset = EUCJP-MS display charset = EUCJP-MS workgroup = K1_RD netbios name = Confucius server string = Samba Server security = user load printers = yes log file = /var/log/samba/log.%m max log size = 50 socket options = TCP_NODELAY dns proxy = no #============================ Share Definitions ============================== [homes] comment = Home Directories browseable = yes writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no よろしくお願いします。