使用linux进行嵌入式开发的时候,为了方便开发,通常是将开发板挂载到宿主机的文件系统上,然后将代码放到共享给开发板的目录中,再通过开发板运行。

首先查看是否安装了 nfs 软件包,yum list installed | grep nfs。如果安装,则可进行下面设置。

nfs 服务器端配置:

1.首先建立共享目录:在根目录下建立share目录。执行 mkdir /share

2.然后对 exports 文件进行编辑:vim /etc/exports

如果之前没有通过 nfs 共享过目录,该文件是空的,向里面填入如下内容:

/share *(sync,rw,no_root_squash)

各部分解释:

/share  为本机要对外共享的目录名称

*  为允许外部访问本机共享目录的 ip 地址。

sync 为将数据先保存在内存缓冲区中,必要时才写入磁盘。

rw 为外部主机对本地共享目录享有读写权限

no_root_squash 为访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组。

上述各部分其余选项有:

1->.客户端的指定方式

指定ip地址的主机:192.168.0.100

指定子网中的所有主机:192.168.0.0/24 或 192.168.0.0/255.255.255.0
        指定域名的主机:nfs.test.com
        指定域中的所有主机:*.test.com

所有主机:*

2->.选项说明

ro:共享目录只读;

rw:共享目录可读可写;
        all_squash:所有访问用户都映射为匿名用户或用户组;
        no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;

root_squash(默认):将来访的root用户映射为匿名用户或用户组;

no_root_squash:来访的root用户保持root帐号权限;

anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
        anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);

secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
        sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
        async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
        wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,可以提高效率;

no_wdelay:若有写操作则立即执行,应与sync配合使用;
        subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;

no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,可以提

高效率;

3.使设置生效:exportfs -ra 或者 service nfs restart

4.通过命令查看共享目录输出情况:exportfs 或 exportfs -v

nfs 客户端配置:

客户端可通过 showmount -e ip 查看远程服务器的对外共享目录。

1.启动 nfs 服务

2.建立挂载点,mkdir /mnt/nfs

3.挂载:mount -t nfs ip:/share /mnt/nfs

4.卸载:umount /mnt/nfs

第3步的 ip 表示对外共享目录的主机 ip,也就是服务器 ip。此处可以使用localhost代替ip地址,表示用nfs挂载本机的目录到另一目录

可以将挂载信息写入 /etc/fstab 文件,实现对 nfs 服务的自动挂载,格式如下:

ip:/share /mnt/share nfs defaults 0 0

其中:

ip:/share 为远程主机的 ip 地址和共享目录

/mnt/share为要挂载到本地的目录

nfs为文件系统类型

defaults 0 0为挂载选项

使用 mount | grep nfs 命令可以显示当前主机挂载的 nfs 目录。

卸载已挂载的目录:umount /mnt/nfs

Linux搭建nfs服务器的更多相关文章

  1. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  2. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  3. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  4. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

  5. Linux搭建SVN 服务器(转)

    转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然    日期:2014年 8月 5日 1          安装 ...

  6. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  7. Linux搭建SVN服务器(服务端)

    Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...

  8. Ubuntu搭建NFS服务器,NFS协议详细分析

    目录 1. Ubuntu搭建NFS服务器 2. NFS协议分析 2.1 实验拓扑: 2.2 在kali抓包分析 1. Ubuntu搭建NFS服务器 ​ NFS(Network FileSystem,网 ...

  9. 使用Linux搭建FTP服务器实现文件共享

    使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...

随机推荐

  1. linux 内核cache

    写驱动总会碰到和cache相关的东西 记录下用到的接口: 驱动中用的内存地址一般为内核地址,用户调用驱动接口时,有时候会把自己申请的地址赋给驱动,此时用户kmalloc得到内核地址, 再用mmap获得 ...

  2. ubuntu12.04下root启动wireshark报错解决办法

    在ubuntu11.10以后版本中发现,安装wireshark后用root权限启动,弹出如下错误: Running as user “root” and group “root”. This coul ...

  3. 日志分析_使用shell完整日志分析案例

    一.需求分析 1. 日志文件每天生成一份(需要将日志文件定时上传至hdfs) 2. 分析日志文件中包含的字段:访问IP,访问时间,访问URL,访问状态,访问流量 3. 现在有"昨日" ...

  4. MySQL sql_safe_updates 分析

    我在练习MySQL操作语句时,使用一条完全没有错误的语句: update students set name='drake' where name='chuan'; 却报了如下错误: Error Co ...

  5. Open Data Structure Templates

    数据结构模板 Chen 2016/12/22 前言 本篇博客的模板,全部是我纯手打的,如果有发现错误,请在下方留言指正:).欢迎大家参考. 有一些地方还不是很完善,等过一阵子用C++实现和部分重构下. ...

  6. C# 的一些语法特性

    1.? -NullableC# 里像int,bool,double 这样的struct和enum类型都不能为null.如果确实想在值域上加上null的话,Nullable就派上用场了.T?是Nulla ...

  7. SpringBoot list查询方法

    SpringBoot中根据不同查询条件,获取list列表.@Componentpublic class QuerySpecifications {} (1)根据商户,查询商品全部列表 public S ...

  8. 掌握Thinkphp3.2.0----CURD

    TP-----CURD  create()创建数据----整理数据 在数据库添加等操作之前,我们首先需要对数据进行创建.何为数据创建,就是接受提交过来的数据,比如表单提交的 POST(默认)数据.接受 ...

  9. css基础知识

    CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.其中选择器通常是您需要改变样式的 HTML 元素(比如p标签),也可以是节点的属性的值(比如id,class):每条声明都是一条字典key ...

  10. MySQL 一些查询语句及技巧

    生成唯一随机数 # 非补0版本 SELECT FLOOR(100000 + RAND() * 899999) AS random_number FROM target_table WHERE &quo ...