在Linux操作系统下设置NFS共享技巧

网络文件系统(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!”

(0)

相关推荐

  • Linux操作系统下防范黑客实用技巧

    Linux是一个多用户的系统,一旦人家取得你的root用户之后,他就可以在你的系统上为所欲为了,由于单用户对系统有完全的控制权限,如果操作不当或被他人进入,那么后果将不堪设想,如何防止入行单用户了,有 ...

  • Linux操作系统下设置基本网络参数四种方法

    一、引言 在Red Hat Linux 6.0系统中,自带有Netscape浏览器,让Linux通过以太网卡访问Internet时,必须对Linux系统进行相应的配置,诸如主机、域名、网关、路由器等。 ...

  • Linux操作系统下修改IP.DNS和路由配置

    在Linux操作系统下修改IP、DNS和路由配置ifconfig eth0 新ip然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip一、修改IP地址[ ...

  • Win10系统下设置打印机共享的具体步骤

    Win10,作为微软最新推出的一个Windows系统,从面市到现在还不到两个月的时间,相信很多用户对它的操作还有一些陌生,更别说是对它进行其他操作了,下面小编主要与大家分享的是Win10系统下设置打印 ...

  • win7系统下设置打印机共享无法保存的解决方法

    众所周知,在企业用户中,都会组建局域网用来更好的传播和共享相关文档,当然打印机也可以在局域网下实现公用的,让局域网中的所有电脑连接打印机,可实现不同的电脑上打印文件,不过有部分win7用户发现,在wi ...

  • 在Kali Linux 环境下设置蜜罐的方法

    Pentbox是一个包含了许多可以使渗透测试工作变得简单流程化的工具的安全套件.它是用Ruby编写并且面向GNU/Linux,同时也支持Windows.MacOS和其它任何安装有Ruby的系统.在这篇 ...

  • Win8系统下设置打印机共享让每个人都使用

    打印机的使用是办公室中必不可少的设备,但是资源总是有限的,一台打印机设备,怎么让每个人都使用上呢?最好的办法就是将这台打印机共享,在新系统windows8下由于权限的问题,设置打印机共享会比其他win ...

  • Windows8系统下设置打印机共享

    步骤一 主电脑添加打印机并设置共享 1.点击屏幕左下角的“开始”按钮,选择“设备和打印机”; 2.找到安装的打印机,右击之选择“打印机属性”; 3.切换到“共享”选项卡下,单击“更改共享选项”按钮,使 ...

  • Windows8系统下设置打印机共享的详细步骤

    打印机的使用是办公室中必不可少的设备,但是资源总是有限的,一台打印机设备,怎么让每个人都使用上呢?最好的办法就是将这台打印机共享,在新系统windows8下由于权限的问题,设置打印机共享会比其他win ...