ubuntu配置nfs连接开发板

一、启动ubuntu,设置ip地址(必须与开发板处于同一网段)当然已经处于同一网段就不必设置了

lingd@ubuntu :~$ sudo ifconfig eth0 192.168.0.26 netmask 255.255.255.0


二、为ubuntu安装NFS

1.安装NFS

lingd@ubuntu :~$ sudo apt-get install nfs-kernel-server

同时会有两个软件包nfs-common和portmap被安装上

2.修改NFS配置文件

lingd@ubuntu :~$ vi /etc/exports

内容为:

/home/lingd/arm  192.168.0.*(rw,sync,no_root_squash,no_subtree_check)

前面不用加#

/home/lingd/arm---要共享的目录

192.168.0.*---允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)、*(所有人都能访问)

(rw,sync,no_root_squash,no_subtree_check)- rw:读/写权限

                                                   sync:数据同步写入内存和硬盘

                                        no_root_squash:服务器允许远程系统以root特权存取该目录

                             no_subtree_check:关闭子树检查

  其他选项可以通过man exports查阅man文档


3.启动服务

重启portmapper(端口映射)服务

lingd@Ubuntu:~$ sudo service portmap restart

portmap start/running, process 550

重启NFS服务

lingd@ubuntu :~$ sudo service nfs-kernel-server restart

 * Stopping NFS kernel daemon                                                [ OK ] 

 * Unexporting directories for NFS kernel daemon...                      [ OK ] 

 * Exporting directories for NFS kernel daemon...                          [ OK ] 

 * Starting NFS kernel daemon                                                  [ OK ]



三、测试

1、本机挂载

lingd@Ubuntu:~$ ls /mnt/nfs/

lingd@ubuntu :~$ sudo mount -t nfs -o nolock localhost:/home/lingd/arm/ /mnt/nfs/

lingd@ubuntu :~$ ls /mnt/nfs/

lingd@ubuntu :~$ sudo umount /mnt/nfs 

lingd@ubuntu :~$ ls /mnt/nfs/


2.开发板挂载

lingd@Ubuntu:~$ telnet 192.168.0.25 (开发板的ip地址

Trying 192.168.0.25...

Connected to 192.168.0.25.

Escape character is '^]'.

(none) login: root

Password: 

~ # ls /mnt                                                 

ext1  ext2

~ # mount -t nfs -o nolock 192.168.0.26(宿主机的ip,同一网段:/home/lingd/arm  /mnt8120机

~ # ls /mnt

~ # umount /mnt

~ # ls /mnt


四、挂载nfs文件系统失败的原因

1、nfs错误信息

Too many levels of remote in path:试图挂载一个存在的文件系统

Permission denied:NFS服务器不让客户机挂接,也可能是因为用户在服务器上不存在

No such host:通常是DNS配置错误

No such file or directory:通常是访问的目录不存在

NFS server is not responding:通常是NFS已经超过负载或者NFS已经停止工作

Stale file handle:在NFS客户端关闭之前客户端访问的文件被删除

Fake hostname:Forward和reverse的DNS记录在NFS客户端下不存在

2、挂载nfs文件系统失败的原因

(1)主机和网络不通:看看网线连接、主机和开发板ip是否在同一网段、防火墙有没有关闭等。不仅vmware中linux的防火墙要关闭,vmware外xp的防火墙也要关闭,我就因为xp中的eset杀毒软件的防火墙使nfs无法挂载(可以挂本机,无法挂远程),折腾了一天,后来才发现是xp中的防火墙搞的鬼!


(2)使用的mount命令不正确。可以参照上面的例子改一下;或者man nfs查阅一下nfs的man文档,里面有nfs中mount的使用介绍和选项解释


(3)nfs配置文件/etc/exports配置不正确。可以参照上面的例子改一下;或者man exports查阅一下/etc/exports的man文档


(4)必要时重新启动NFS和portmap服务。

sudo service portmap restart

sudo service nfs-kernel-server restart


(5)内核不支持NFS和RPC服务(可能需要重新配置、编译、烧写内核)。

普通的内核应有的选项为CONFIG_NFS_FS=m、CONFIG_NFS_V3=y、CONFIG_ NFSD=m、CONFIG_NFSD_V3=y和CONFIG_SUNRPC=m。

rpcinfo命令用于显示系统的RPC信息,一般使用-p参数列出某台主机的RPC服务。rpcinfo -p命令检查服务器时,应该能看到portmapper、status、mountd、nfs和nlockmgr。用该命令检查客户端时,应该至少能看到portmapper服务(开发板可能不带该命令)。由rpcinfo -p可知,nfs使用的port为2049,portmapper使用111port。


五、nfs相关的配置文件与命令

1、/etc/exports

NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在(需要自己建立)。


2、/usr/sbin/exportfs

用于维护NFS共享资源的命令,用在nfs server端。修改/etc/exports后,只要使用exportfs重新扫瞄一次 /etc/exports,重新将设定加载即可,并不一定要重启nfs服务

命令格式: exportfs [-aruv]

参数说明如下。

(1)-a:全部挂载或卸载(export or unexpect)/etc/exports文件内的目录。

(2)-r:重新挂载(reexport)/etc/exports中的目录,并将/var/lib/nfs/etab中的内容与/etc/exports同步。

(3)-u:卸载某些目录。

(4)-v:显示exportfs处理信息。


3、/usr/sbin/showmount

用于查看指定主机NFS共享出来的目录资源,主要用在Client端。

命令格式: showmount [-ade] hostname/服务器ip地址

参数说明如下。

(1)-a或-all:以host:dir格式显示客户主机名和挂载的目录。

(2)-d或-directories:仅显示被客户挂载的目录名。

(3)-e或-exports:显示指定NFS服务器的nfs共享目录。


4、/var/lib/nfs/etab

/etc/exports里列举的是用户希望nfs共享的目录,而/var/lib/nfs/etab里面是Ubuntu实际共享的目录。它记录了NFS所共享出来的目录的完整权限设定值。/var/lib/nfs/etab由exportfs维护,每次exportfs都会扫描/etc/exports以建立新的/var/lib/nfs/etab,每当nfs客户请求挂载共享目录时mountd都会读取该文件以检测客户和目录的权限。同时/var/lib/nfs/etab中共享的目录会保存在内核nfs共享表(export table)中


telnet连接开发板需注意的问题

1、物理上,开发板和PC间必须连接,可以通过路由、hub、交换器或者PC开发板直接连接。

2、网络设置必须相同,IP同一个网段,网关、掩码、DNS等,并且能够ping通。

3、完成了前面两条后,就可以实现telnet了(前提文件系统里面有telnet这个功能。)

转载于:https://my.oschina.net/zhaoding/blog/180178

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu配置NFS的步骤如下: 1. 在虚拟机上安装NFS服务,可以使用命令`sudo apt-get install nfs-kernel-server`进行安装。 2. 确认NFS服务已经安装成功后,可以在终端使用命令`sudo exportfs -ra`来导出共享目录。 3. 在硬件卡上挂载NFS文件系统,可以通过以下步骤实现: a. 首先,需要在硬件卡上安装NFS客户端。 b. 在终端使用命令`sudo mount <NFS服务器IP地址>:<共享目录路径> <本地挂载路径>`进行挂载。例如,`sudo mount 192.168.0.100:/home/user/shared /mnt/nfs`。 c. 确认挂载成功后,就可以在硬件卡上访问和使用NFS共享的文件了。 这样,你就成功在Ubuntu配置NFS。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【ubuntunfs服务搭建](https://blog.csdn.net/iriczhao/article/details/126149918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Ubuntu配置NFS的具体流程(推荐)](https://download.csdn.net/download/weixin_38723559/12844545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值