在開發Linux程序中,經常會使用Windows的編輯器進行編輯,這樣還要拷貝到Linux伺服器,如果有這種開發習慣的同學,可以使用這種方式進行開發。
當然除了這種方法之外,可以再Windows安裝nfs伺服器,但是我的是64位的win7系統,好多nfs伺服器不支持,所以就只能使用這種共享文件夾的方式了。
Windows側:
1:在Windows下建立共享文件夾。
2:確保Windows用戶設置了密碼。
Linux側:
1:安裝cifs-utils包,安裝後,系統出現mount.cifs命令。或者有的發行包里的mount支持 -t cifs參數。
2:mount.cifs -o username="共享用戶",password="密碼" //ip/sharing_folder /mountpoint
問題1:在共享虛擬機的文件,編譯時會出現如下錯誤:
arm-none-linux-gnueabi-gcc -lpthread -o beep beep.c beeplib.c
cc1: error: beep.c: Value too large for defined data type
cc1: error: beeplib.c: Value too large for defined data type
make: *** [beep] Error 1
修正方法:sudo mount -t cifs -o username=wx,passwd=wx,nounix,noserverino //192.168.1.108/vm_share /mnt/share
添加了,nounix,noserverino
問題2:Unable to umount, device is busy
If you get this error message and the 'umount' as well as 'umount -f' commands don't work, try a "lazy" umount:
umount -l /mnt/badmount
Then mount the share again, as shown below:
mount -t cifs //hostname/goodmount /mnt/goodmount -o username=,password=
Note - using the "cifs" keyword instead of the smbfs keyword after -t will result in fewer problems like this.
問題3: mount error 12 = Cannot allocate memory
當通過mount.cifs命令對windows下的文件進行映射時,若文件太大,便會產生這種錯誤,解決方法是:
修改注冊表 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\IRPStackSize項的值大於等於15,若IRPStackSize項不存在,就新建一個DWORD值,點擊彈出窗口的的進制為十進制,值寫個18就ok了,還要重啟一