標(biāo)題: 讓arm開(kāi)發(fā)板文件系統(tǒng)中的mnt文件夾可以顯示linux虛擬機(jī)中的某一個(gè)文件夾成為掛載 [打印本頁(yè)]

作者: lianyiqun    時(shí)間: 2015-7-8 22:12
標(biāo)題: 讓arm開(kāi)發(fā)板文件系統(tǒng)中的mnt文件夾可以顯示linux虛擬機(jī)中的某一個(gè)文件夾成為掛載
要嚴(yán)格區(qū)分1主機(jī)59.68.190.113,2、虛擬機(jī)linux59.68.190.128,3,arm開(kāi)發(fā)板文件系統(tǒng)59.68.190.100 1、掛載的步驟,首先是要啟動(dòng)虛擬機(jī)linux中的nfs網(wǎng)絡(luò)服務(wù)用命令sudo /etc/init.d/nfs-kernel-server  restart,然后就用mount -t nfs -o nolock 59.68.190.128:/work/nfs_root/first_fs /mnt 來(lái)實(shí)現(xiàn)掛載,一開(kāi)始我是在虛擬機(jī)中使用這個(gè)掛載命令,結(jié)果導(dǎo)致掛載的方向錯(cuò)了,直接導(dǎo)致自己將自己虛擬機(jī)中的/work/nfs_root/first_fs文件夾內(nèi)容,傳遞給了自己虛擬機(jī)中的/mnt 文件夾這樣是不對(duì)的
2、修改方法,主機(jī)上面打開(kāi)串口超級(jí)終端軟件,將開(kāi)發(fā)板內(nèi)核啟動(dòng),上面會(huì)看到#,這里可以寫(xiě)入命令
mount -t nfs -o nolock 59.68.190.128:/work/nfs_root/first_fs /mnt,這樣才是將遠(yuǎn)程的 59.68.190.128:/work/nfs_root/first_fs中的內(nèi)容傳遞給開(kāi)發(fā)板的 /mnt 文件夾,在這個(gè)文件夾中可以用ls查看是否掛載成功。
3、關(guān)于如何卸掉掛載,用umount命令,可以用man umount來(lái)查看其用法,umount /mnt,就可以卸載掉你所掛上去的內(nèi)容
關(guān)于掛載的幾個(gè)問(wèn)題以及解決方法。服務(wù)器server和客戶端client的配置問(wèn)題

嵌入式開(kāi)發(fā)板 中nfs 出現(xiàn)問(wèn)題permission denied的問(wèn)題

解決方法:
去看下你的服務(wù)啟動(dòng)了沒(méi),客戶端需要portmap服務(wù),服務(wù)器端需要portmap、nfs服務(wù)。具體做法:
客戶端:/etc/init.d/portmap start
服務(wù)器端:/etc/init.d/portmap start
/etc/init.d/nfs start
另外/etc/exports配置文件要正確,以下供你參考:
假設(shè)你的導(dǎo)出目錄是/share,配置文件可以寫(xiě)成
/share *(rw,sync,no_root_squash)


一些關(guān)于掛載解決問(wèn)題的方法分析

#sudo apt-get install nfs-kernel-server

打開(kāi)/etc/exports文件,

 sudo vi  /etc/exports在末尾加入:

/work/nfs_root/file_sys_yl *(rw,sync,no_root_squash)

其中的file_sys_yl就是新添加的掛載目錄

注:nfs允許掛載的目錄及權(quán)限,在文件/etc/exports中進(jìn)行定義,各字段含義如下:

/work/nfs_root/file_sys_yl:要共享的目錄

* :允許所有的網(wǎng)段訪問(wèn)

rw :讀寫(xiě)權(quán)限

sync:資料同步寫(xiě)入內(nèi)在和硬盤(pán)

no_root_squash:nfs客戶端共享目錄使用者權(quán)限

重啟服務(wù):
sudo /etc/init.d/portmap restart                  <---重啟portmap,
sudo /etc/init.d/nfs-kernel-server restart      <---重啟nfs服務(wù)
showmount -e                                          <---顯示共享出的目錄

注:nfs是一個(gè)RPC程序,使用它前,需要映射好端口,通過(guò)portmap設(shè)定

命令執(zhí)行情況如下:

kevin@ubuntu:~$sudo /etc/init.d/portmap restart

rtmap restart

Rather than invoking init scripts through /etc/init.d, use the service(8)

utility, e.g. service portmap restart

Since the script you are attempting to invoke has been converted to an

Upstart job, you may also use the restart(8) utility, e.g. restart portmap

 

portmap start/running, process 742


kevin@ubuntu:~$sudo /etc/init.d/nfs-kernel-server restart
 
 * Stopping NFS kernel daemon

   ...done.

 * Unexporting directories for NFS kernel daemon...

   ...done.

 * Exporting directories for NFS kernel daemon...

exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/work/nfs_root".

  Assuming default behaviour ('no_subtree_check').

  NOTE: this default has changed since nfs-utils version 1.0.x


exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/work/nfs_root/first_fs".

  Assuming default behaviour ('no_subtree_check').

  NOTE: this default has changed since nfs-utils version 1.0.x


   ...done.

 * Starting NFS kernel daemon

   ...done.


kevin@ubuntu:~$showmount -e

Export list for book-desktop:

/work/nfs_root/first_fs *

 

/work/nfs_root          *

現(xiàn)在可以在本機(jī)上試一下:
#sudo mount -t nfs localhost:/home/kevin /mnt

注:localhost為本機(jī)linux的IP地址

這樣就把共享目錄掛到了/mnt目錄,取消掛載用:
#sudo umount /mnt

如果用在嵌入式設(shè)備上掛載,要加上參數(shù)-o nolock

我在開(kāi)發(fā)板上使用的掛載命令:

mount -t nfs -o nolock 59.68.190.128:/work/nfs_root/first_fs /mnt

,這樣就能在開(kāi)發(fā)板上面查看到自己虛擬機(jī)中的文件了,

有一個(gè)問(wèn)題就是找了很長(zhǎng)時(shí)間,其實(shí)是/work/nfs_root/first_fs這個(gè)文件夾寫(xiě)錯(cuò)了,悲劇的我為了這一個(gè)錯(cuò)誤找了一上午




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1