主要步驟:
1 在PC上,建立NFS服務器。
2 在PC上,確認NFS服務器正確。
3 telent上ARM板busybox, mount -t nfs -o nolock 10.0.2.130:/export /home
建立NFS服務器
1 假設防火牆已經關閉
2 安裝yum install nfs-utils.i686
3 安裝yum install rpc2 (我實驗時,已經安裝過了,這是一個很基本的服務)
4 vi /etc/idmapd.conf
[General]
Domain = localdomain # 用dnsdomainname得到,search "Linux: find out information about current domain name and host name"
[Mapping]
Nobody-User = nfsnobody
Nobody-Group = nfsnobody
5 啟動nfs(nfs相關服務為rpcbind,一般都正常,不用管)
systemctl enable nfs-server.service
systemctl start nfs-server.service
6 mkdir -p /export/{share1,share2,share3}
sudo chmod -R a+rwx /export # 我不想碰到權限問題,將權限開到最大
7 vi /etc/export
/export 127.0.0.1(ro,sync)
/export 10.0.2.0/255.255.255.0(rw,sync,insecure,no_root_squash)
/home/hl/temp 10.0.2.131(rw,sync,insecure,no_root_squash)
/home/hl/temp 10.0.2.132(rw,sync,insecure,no_root_squash)
/home/hl/temp 要有777權限,這裡允許整個10.0.2.*段訪問,ip段有3種寫法:
single host
wildcards *.example.com
IP networks 192.168.0.0/28 allows the first 16 IP addresses, from 192.168.0.0 to 192.168.0.15, to access the exported file system, but not 192.168.0.16 and higher.
8 exportfs -rv # nfs重讀配置
PC端NFS客戶端配置
因為服務器和客戶端都在一台機器上,沒什麼好配置的。
以root用戶登錄
sudo mount -t nfs 127.0.0.1:/<press TAB> 這時應該出來可以mount的目錄
sudo mount -t nfs 127.0.0.1:/export /mnt
umount /mnt
sudo mount -t nfs 10.0.2.130:/export /mnt # 如果不成功,要看ip是否正確。
ARM板busybox
當然,內核、busybox編譯時,都要支持nfs。
不需要配置,唯一注意的是,需要-o nolock選項。
mount -t nfs -o nolock 10.0.2.130:/export /home
mount -t nfs -o nolock 10.0.2.130:/home/hl/temp /home
note:
1 服務器上,export出去的目錄,nfsnobody用戶要有相應的權限。最簡單的是給777權限。
例如:/home/hl/temp,temp要有777權限。但/home/hl無需設置。
2 ARM、Fedora虛擬機通過NFS共享一個目錄,這樣,在虛擬機上編譯出的程序,
ARM上立即可以用,無需拷貝。還能比這更方便麼?