CIFS mount

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

CIFS mount

文章gmobug » 週日 7月 16, 2006 8:12 pm

請問,
我用mount -t cifs
來掛載windows 2003分享出來的目錄(內有中文檔名)
遇到一些問題

1.檔案列表不完全(使用-o codepage=cp950,iocharset=big5)
mount後ls出來的結果,有些資料夾會不見
並多出一串ls: No such file or directory
但用smbclient上去ls的結果是完全正常的

2.若使用
-o codepage=unicode,iocharset=utf8

-o iocharset=utf8
在有中文檔名的目錄底下ls
系統就停止了
只能去local端按電源強制斷電reboot
後續:
According to http://groups.google.com.tw/group/linux.samba/browse_thread/thread/df1a933a152b78f2/7aa56249fb655e89%237aa56249fb655e89
dpkg-reconfigure locales
選zh_TW.UTF-8
兩次ls成功
第3次....又掛了

3.除了中文的問題外
我讓這個資料夾在apache的DocumentRoot底下
用browser開其中的jpg檔卻只有叉叉
apache的log沒有錯誤紀錄
那些檔案的權限屬性為rwxrwSrwt

-------
另外問個也跟中文有關的問題
我有個資料夾檔名有"業"這個字
他的第2個byte為'~'
可能是這個原因
導致我用php的opendir函式開啟它的時候出錯
是過了加'\'但無效
請問該如何解決
謝謝!
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章mason » 週一 7月 17, 2006 3:06 pm

cifs 對中文的問題,可以試試 mount -t cifs -o iocharset=utf8,codepage=cp950

Linux kernel 對 cifs 的支援一直有在更新,你的 cifs kernel module 也許需要新一點的版本。
頭像
mason
快樂的大學生
快樂的大學生
 
文章: 547
註冊時間: 週二 9月 10, 2002 3:40 pm
來自: SIDE 3

文章gmobug » 週一 7月 17, 2006 5:47 pm

mason 寫:cifs 對中文的問題,可以試試 mount -t cifs -o iocharset=utf8,codepage=cp950

但我若加上codepage
/var/log/message會出現CIFS:Unknown option codepage
且man mount.cifs中的-o區段也沒有codepage
所以後來就沒加了
而單純的使用iocharset=utf8
系統最後還是crash..

※剛剛試了一下iocharset=utf8,codepage=cp950
ls似乎沒問題
但我後來透過HTTP看一個用來列出其中檔案的網頁(php)時
系統又掛了...

這個網頁在不用cifs的情況下是正常的
所以網頁程式應該沒錯
但有可能是php的函式對中文的問題
不過個人認為也不是這個問題
因為前一次試-o iocharset=utf8的時候
沒有開網頁
只有ls了兩次就掛了
根據/var/log/message的訊息
codepage的設定會變成無意義
所以似乎是在第一次ls之後一段時間系統就會掛

mason 寫:Linux kernel 對 cifs 的支援一直有在更新,你的 cifs kernel module 也許需要新一點的版本。

呃....為了使用cifs
我前幾天才用apt-get更新到2.6.8-3
還是說這樣還不夠新
因為不會編linux的核心
所以才用apt-get裝
我主要學的是freebsd
感覺上freebsd的核心比較好編
步驟比較少
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章bsdson.tw » 週一 7月 17, 2006 6:48 pm

我只有設 iocharset=utf8 都沒有什麼問題喔!
我的系統版本是
Linux henrylee 2.6.17-ARCH #1 SMP PREEMPT Sat Jul 15 09:27:29 CEST 2006 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux
bsdson.tw
可愛的小學生
可愛的小學生
 
文章: 67
註冊時間: 週一 4月 11, 2005 4:44 pm

文章gmobug » 週一 7月 17, 2006 7:33 pm

之前聽說這台機器只有一個CPU
所以沒裝SMP版的kernel
後來才知道這台其實可以裝兩顆CPU
這樣會造成CIFS的錯誤嗎?
其他服務都跑的好好的沒問題
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章gmobug » 週二 7月 18, 2006 2:58 am

後來還是硬著頭皮去kernel.org
下載了2.6.17
剛剛編完裝完
正在reboot
刺激哦....
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章gmobug » 週二 7月 18, 2006 3:02 am

Oh....Ya!!
Everything gonna be OK!!

看來是2.6.8的CIFS module還不夠完善
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章訪客 » 週二 7月 18, 2006 3:06 am

不過第三個問題還是存在 :-(
先前懷疑是windows 2003那邊共享權限沒設好
不過把用來登入的使用者加入administrators群組也沒用
據說windows 2003 DC特別容易有類似問題
而這台就是

3.除了中文的問題外
我讓這個資料夾在apache的DocumentRoot底下
用browser開其中的jpg檔卻只有叉叉
apache的log沒有錯誤紀錄
那些檔案的權限屬性為rwxrwSrwt
訪客
 

文章gmobug » 週二 7月 18, 2006 3:12 am

順帶一提
一個連到底下檔案的超連結
可以成功按右鍵另存新檔
但存下來的檔案用記事本打開是空白的

telnet 80 port
然後GET
回覆200
但檔案內容沒有傳送
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章gmobug » 週二 7月 18, 2006 11:24 am

透過HTTP直接開那個檔案開不起來
但是寫個PHP echo出那個檔案內容卻沒問題
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am

文章gmobug » 週日 7月 23, 2006 5:36 pm

最後問題終於解決了

在apache的httpd.conf裡

#EnableSendfile off
改成
EnableSendfile off

Sendfile是個system call
在network file system上常會有問題
gmobug
可愛的小學生
可愛的小學生
 
文章: 11
註冊時間: 週日 7月 16, 2006 12:33 am


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客