树莓派上启动nfs server
1. nfs 是什么
(略)http://vbird.dic.ksu.edu.tw/linux_server/linux_redhat9/0330nfs.php
2. 安装 nfs-kernel-server 和 rpcbind(替代portmap), 并启动rpcbind和nfs-kernel-server服务.
apt-get install nfs-common nfs-kernel-server
sudo apt-get install portmap
pi@raspberrypi ~ $ sudo service rpcbind start
[ ok ] Starting rpcbind daemon....
pi@raspberrypi ~ $ ps ax | grep rpcbind
4130 ? Ss 0:00 /sbin/rpcbind -w
4152 pts/0 S+ 0:00 grep --color=auto rpcbind
建立要分享及掛載的目錄
# mkdir /home/partimag
修改設定檔 /etc/exports
加入下面一列
# vim /etc/exports
/home/partimag 192.168.66.0/24(rw,sync,no_subtree_check)
啟動 NFS Server
# /etc/init.d/nfs-kernel-server start
* Exporting directories for NFS kernel daemon... [ OK ]
* Starting NFS kernel daemon [ OK ]
檢查是是有啟動成功
# showmount -e localhost
Export list for localhost:
/home/partimag 192.168.66.0/24
pi@raspberrypi ~ $ showmount -e localhost
Export list for localhost:
/home/pi/nfs_server *
pi@raspberrypi ~ $ sudo mount -t nfs 127.0.0.1:/home/pi/nfs_server /mnt -o nolock
pi@raspberrypi ~ $ cd /mnt/
pi@raspberrypi /mnt $ ls
pi@raspberrypi /mnt $ >nfs.txt
pi@raspberrypi /mnt $ ls
nfs.txt
pi@raspberrypi /mnt $ cd /home/pi/nfs_server/
pi@raspberrypi ~/nfs_server $ ls
nfs.txt
修改/etc/exports文件,在其中增加NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:
NFS共享目录路径 客户机IP或者名称(参数1,参数2,...,参数n)
说明:
q NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。
q 客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为192.168.1.x的客户机可以访问,可以写成192.168.1.*,如果设置为*,则表示任何客户机都可以访问。
q 访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如 REF _Ref286733518 \h 表 5.108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。
表 STYLEREF 1 \s 5. SEQ 表 \* ARABIC \s 1 1 NFS设置参数和说明
|
参数 |
说明 |
|
ro |
只读访问 |
|
rw |
读写访问 |
|
sync |
所有数据在请求时写入共享 |
|
async |
nfs在写入数据前可以响应请求 |
|
secure |
nfs通过1024以下的安全TCP/IP端口发送 |
|
insecure |
nfs通过1024以上的端口发送 |
|
wdelay |
如果多个用户要写入nfs目录,则归组写入(默认) |
|
no_wdelay |
如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置 |
|
hide |
在nfs共享目录中不共享其子目录 |
|
no_hide |
共享nfs目录的子目录 |
|
subtree_check |
如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) |
|
no_subtree_check |
不检查父目录权限 |
|
all_squash |
共享文件的UID和GID映射匿名用户anonymous,适合公用目录 |
|
no_all_squash |
保留共享文件的UID和GID(默认) |
|
root_squash |
root用户的所有请求映射成如anonymous用户一样的权限(默认) |
|
no_root_squash |
root用户具有根目录的完全管理访问权限 |
|
anonuid=xxx |
指定nfs服务器/etc/passwd文件中匿名用户的UID |
|
anongid=xxx |
指定nfs服务器/etc/passwd文件中匿名用户的GID |
假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:
/home/ky/nfs *(rw,sync,no_subtree_check, no_root_squash)
如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:
ky@ubuntu:~$ exportfs -ra
本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。
ky@ubuntu:~$ ls /home/ky/nfs/
aaaa
ky@ubuntu:~$ sudo mount -t nfs 127.0.0.1:/home/ky/nfs /mnt
ke@ubuntu:~$ ls /mnt
aaaa
ky@ubuntu:~$ sudo umount /mnt/
用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:
target# mount -t nfs 192.168.1.3:/home/ky/nfs /mnt -o nolock
target# ls /mnt
kingyee
target# umount /mnt/
挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。
说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:
exportfs [-aruv]
选项说明:
-a:全部挂载(或卸载) /etc/exports的设置;
-r:重新挂载/etc/exports的设置;
-u:卸载某一个目录;
-v:在输出的时候,把共享目录显示出来。
树莓派上启动nfs server的更多相关文章
- 树莓派 nfs server安装
安装服务 sudo apt-get install portmap sudo apt-get install nfs-kernel-server 配置: sudo nano /etc/expo ...
- Raspberry Pi3 ~ 安装 nfs Server
l 安装必要服务: sudo apt-get install portmap sudo apt-get install nfs-kernel-server sudo apt ...
- (转)Ubuntu12.04上NFS Server安装使用过程
原文链接:Ubuntu12.04上NFS Server安装使用过程 实现步骤: 1.服务器端:sudo apt-get install portmap2.服务器端:sudo apt-get insta ...
- CentOS6上无法启动NFS服务
CentOS6上无法启动NFS服务 1.系统环境 物理机:Windows 7(32位)旗舰版 虚拟机:CentOS 6.5 2.问题描述 安装好nfs应用程序之后,打算启动nfs服务,却出现以下的报错 ...
- 本地计算机 上的 Redis Server 服务启动后停止
服务器上Redis服务安装正常..却启动不了.. 报错 : 本地计算机 上的 Redis Server 服务启动后停止.某些服务在未由其他服务或程序使用时将自动停止. 最后发现是Redis的配置 ...
- Mac OS X 上启动 FTP/SFTP server,并设置 log level
木易小伟的博客| 木易小伟的博客 2013-08-13 5708 阅读 FTP Log SFTP Mac OS 系统配置 1. 启动FTP Server: 命令行下, sudo -s launch ...
- 无法在web服务器上启动调试,服务器不支持对ASP.NET 或ATL Server应用程序进行调试。
无法在web服务器上启动调试,服务器不支持对ASP.NET 或ATL Server应用程序进行调试. a>.DCOM配置里的属性灰色不可用的解决方法, 1>.管理工具->组件服务 ...
- 在树莓派上运行 .net core 2.1 程序 并实现开机启动
本篇文章完整的说明如和在树莓派上运行 .net core2.1程序,当然也参考了其他的博客,此处结合我自己的经验,再写一篇完整的博客,方便大家,还有我自己进行查阅. https://blog.csdn ...
- 树莓派上Java程序作为linux服务并开机自动启动
http://www.iigrowing.cn/shu_mei_pai_shang_java_cheng_xu_zuo_wei_linux_fu_wu_bing_kai_ji_zi_dong_qi_d ...
随机推荐
- python 生成唯一识别码
import uuid identity = str(uuid.uuid4()).encode('ascii')
- Collections.sort()中的mergeSort归并排序
@SuppressWarnings({"unchecked", "rawtypes"}) private static void mergeSort(Objec ...
- springboot-32-使用mvc测试
Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试:Spring Boot可以跟BDD(Behavier Driven ...
- 面试:C++输入数据
最近在做笔试题,相比与leetcode,笔试题都是要自己写输入输出的,每次在这里都浪费了不少时间,这篇文章总结了一下在C++中怎么向数组中输入数据. 1. 先输入数组大小,然后输入数据数据,中间以空格 ...
- TCP连接的TIME_WAIT和CLOSE_WAIT 状态解说
相信很多运维工程师遇到过这样一个情形: 用户反馈网站访问巨慢, 网络延迟等问题, 然后就迫切地登录服务器,终端输入命令"netstat -anp | grep TIME_WAIT | wc ...
- Spring AOP切面变成——创建增强类
说明 Spring使用增强类定义横向逻辑,同时Spring只支持方法连接点,增量类还包含在方法的哪一点添加横切代码的方位信息.所以增强既包含横向逻辑,又包含部分连接点的信息. 类型 按着增强在目标类方 ...
- 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)
目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...
- IIS 是如何处理 ASP.NET 请求的
#main{ width:1250px; } #mainContent{ width:915px } img#imgTop{ max-width:850px; } Web 服务器 VS Web 应用程 ...
- python学习之内存机制
不可变对象(字符串.元组) 1. a = 1 首先在内存中创建对象1,并记录对象的引用计数为1次. id(a) 查看变量a引用的对象的内存地址 2. b = 1 内存中已存在对象1,变量b引用对象1, ...
- SQLServer之视图篇
1 视图介绍 视图是从一个或者几个基本表(或视图)导出的表.它与基本表不同,是一个虚表.数据库中只存放视图的定义,而不存在视图对应的数据,这些数据仍然存放在原来的基本表中.所以一旦基 ...