欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux操作系统文件链接
修改linux系统默认启动级别
Linux的free命令来显示系统中空闲和已使用的内存
Linux常见的压缩命令
Linux系统常用命令
Linux文件系统基本结构
Linux网络基本配置
Linux磁盘及文件系统管理:磁盘基本概念
Linux各版本root本地密码破解
Win Vista中如何查看CPU最高速度
在Linux操作系统下设置NFS共享技巧
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。

  在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。因此,可以通过建立NFS,把Linux 服务器上的特定分区共享到待调试的嵌入式目标系统上,就可以直接在嵌入式目标系统上操作Linux 服务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开发。因此,NFS 的是嵌入式Linux 开发的一个重要的组成部分,本部分内容将详细说明如何配置嵌入式Linux 的NFS 开发环境。

  嵌入式Linux 的NFS 开发环境的实现包括两个方面:一是Linux 服务器端的NFS 服务器支持;二是嵌入式目标系统的NFS 客户端的支持。因此,NFS 开发环境的建立需要配置linux 服务器端和嵌入式目标系统端。

  一、Linux 服务器端NFS 服务器的配置

  以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。

  执行如下命令编辑文件/etc/exports:

  # vi /etc/exports

  在该文件里添加如下内容:

  /home/work 192.168.0.*(rw,sync,no_root_squash)

  然后保存退出。

  添加的内容表示:允许ip 地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。

  /home/work 也称为服务器输出共享目录。

  括号内的参数意义描述如下:

  rw:读/写权限,只读权限的参数为ro;

  sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。

  no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。

  接着执行如下命令,启动端口映射:

  # /etc/rc.d/init.d/portmap start

  最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求:

  # /etc/rc.d/init.d/nfs start

  用户也可以重新启动Linux 服务器,自动启动NFS 服务。

  在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains 等选项的设置,以及/etc/hosts.deny,/etc/hosts.allow 文件。

  我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。在Linux 服务器上运行如下命令:

  # mount –t nfs 192.168.0.20:/home/work /mnt

  # ls /mnt命令将Linux 服务器的NFS 输出共享目录挂载到/mnt 目录下,因此,如果NFS 正常工作,应该能够在/mnt 目录看到/home/work 共享目录中的内容。

  二、嵌入式目标系统NFS 客户端的配置

  在Linux 服务器设置好后,还需要对客户端进行相关配置。在配置内核时选择Load an Alternate Configuration File输入配置文件的路径和文件名添加内核对NFS的支持:

  选中networking options-》IP:kernel level auloconfiguralion项

  选中file systems-》network file systems-》下的root file system on nfs

  和nfs file system support重新编译内核下载bootloader和kernel到开发板上

  在嵌入式目标系统的Linux Shell 下,执行如下命令来进行NFS 共享目录挂载:

  # mkdir /mnt/nfs //建立Linux 服务器输出共享目录的挂载点;

  # mount –t nfs 192.168.0.20:/home/work /mnt/nfs –o nolock

  # cd /mnt/nfs

  # ls

  此时,嵌入式目标系统端所显示的内容即为Linux 服务器的输出目录的内容,即Linux 服务器的输出目。

  录/home/work 通过NFS 映射到了嵌入式目标系统的/mnt/nfs 目录。用户可以用增/删/修改文件的方式来验证实际效果。mount 命令中的192.168.0.20 为Linux 服务器的IP 地址,/home/work 为Linux 服务器端所配置的共享输出目录,/mnt/nfs 为嵌入式设备上的本地目录。

  在开发过程中,来回输入命令非常烦人,我写了两个简单的脚本来完成nfs的启动,挂载。

  host启动nfs:

  snfs

  #!/bin/bash

  ifconfig eth0 192.168.0.20

  /etc/rc.d/init.d/portmap start

  /etc/rc.d/init.d/nfs start

  嵌入式目标机挂载nfs:

  mnfs:

  #!/bin/sh

  mount -t nfs 192.168.0.20:/home/work/nfs /mnt/nfs -o nolock

  echo “nfs ok!”

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站