1. 程式人生 > >Embeded linux 之 cifs文件系統

Embeded linux 之 cifs文件系統

intern server 安裝 查看 b2c 接口 發現 vm t cifs

待整理

轉自:

http://blog.csdn.net/yuanbinquan/article/details/51734705

簡介

CIFS (Common Internet File System) 通用Internet文件系統 在windows主機之間進行網絡文件共享是通過使用微軟公司自己的CIFS服務實現的。

功能 CIFS 可以使您達到以下功能: 1.訪問服務器本地文件並讀寫這些文件 2.與其它用戶一起共享一些文件塊 3.在斷線時自動恢復與網絡的連接 4.使用統一碼(Unicode)文件名:文件名可以使用任何字符集,而不局限於為英語或西歐語言設計的字符集。
優點 一般來說,CIFS使用戶得到比FTP更好的對文件的控制。它提供潛在的更直接地服務器程序接口,這比使用HTTP協議的瀏覽器更好。CIFS最典型的應用是windows用戶能夠從“網上鄰居”中找到網絡中的其他主機並訪問其中的共享文件夾。 CIFS 是開放的標準而且已經被作為Internet應用程序標準被提交到IETF。 用於Java與DCom通信的開源第三方庫J-Interop就是利用CIFS協議實現的。
CIFS和NFS的對比 (1)CIFS面向網絡連接的共享協議,對網絡傳輸的可靠性要求高,常使用TCP/IP;NFS是獨立於傳輸的,可使用TCP或UDP; (2)NFS缺點之一,是要求client必須安裝專用軟件;而CIFS集成在OS 內部,無需額外添加軟件; (3)NFS屬無狀態協議,而CIFS屬有狀態協議;NFS受故障影響小,可以自恢復交互過程,CIFS不行;從傳輸效率上看,CIFS優於NFS,沒用太多冗余信息傳送; (4)兩協議都需要文件格式轉換,NFS保留了unix的文件格式特性,如所有人、組等等;CIFS則完全按照win的風格來作。

使用

在實際應用中,當linux需要掛載window上的目錄上,大家首先想到的是samba和VM tools等工具,其實cifs是最簡單用法,它不需要你安裝任何工具,是windows和linux自帶功能。

window端:

首先在你windows上建立共享文件夾,目錄 E:\nfs, 用戶: Everyone , 權限:所有權限 ,詳細信息如下:

技術分享技術分享

這樣windows端設置完成。

Linux端:

x86:

這裏以ubuntu為例,默認時支持cifs文件系統的,不需要做任何配置。直接使用mount命令掛載即可

在確保linux系統可以ping通windows系統的前提下,使用一下命令。

#mount -t cifs -o username=Everyone,password=‘‘ //192.168.88.77/nfs /mnt

用戶名:username與windows設置一致Everyone,密碼password為空, 192.168.88.77為你的windows系統的ip地址, mnt 為你linux系統下的掛載目錄位置

#ls /mnt

即可查看到windows上的共享目錄了。

arm:

這裏以arm9+linux系統為例

在嵌入式設備上,默認的內核是不支持cifs文件系統的,所以在編譯內核時需要是能cifs文件系統的支持,方法如下:技術分享

這樣內核就支持cifs文件系統了,接下來可以直接使用mount命令,當然有同樣的前提,你的arm板必須能夠ping通你的windows系統ip。

#mount -t cifs -o username=Everyone,password=‘‘ //192.168.88.77/nfs /mnt

用戶名:username與windows設置一致Everyone,密碼password為空, 192.168.88.77為你的windows系統的ip地址, mnt 為你linux系統下的掛載目錄位置

#ls /mnt

即可查看到windows上的共享目錄了。

如果在ls時,報如下錯誤:
ls: can‘t open ‘.‘: Value too large for defined data type

發現在mount的時候加上“nounix,noserverino”選項後,就不再出現這個問題了,因此完整的mount命令可能如下:

#mount -t cifs -o username=Everyone,password=‘‘,nounix,noserverino //192.168.88.77/nfs /mnt

Embeded linux 之 cifs文件系統