编译portmap和nfs-utils
编译portmap
1. 下载portmap_5beta: ftp://ftp.porcupine.org/pub/security/portmap_5beta.tar.gz
2. 打这个补丁: portmap_5beta.patch.zip (补丁来自buildroot-2009.11,我只是把多个补丁合并成一个)
3. $ make CC=mipsel-linux-gcc
4. $ mipsel-linux-strip portmap
编译nfs-utils
1. 下载nfs-utils-1.1.1: http://nchc.dl.sourceforge.net/project/nfs/nfs-utils/1.1.1/nfs-utils-1.1.1.tar.gz
2. 打这个补丁: nfs-utils-1.1.1-uclibc.patch.zip (在网上找到的,来源记不清了,我稍加了修改)
3. 运行配置脚本:
4. $ make
5. 安装到/home/user/dist/nfs-utils目录
在制作固件时,我们只需要几个编译好的程序:portmap, rpc.statd, rpc.nfsd, rpc.mountd, exportfs。其中portmap 放到/sbin下,其余的放到/usr/sbin下。
此外还需要一个NFS服务启动脚本S60nfs,放在/etc/init.d目录下。下载脚本S60nfs.zip (来自buildroot,我把portmap的启动加进去了)
2 #
3 # nfs This shell script takes care of starting and stopping
4 # the NFS services. Stolen from RedHat FC5.
5
6 [ -x /sbin/portmap ] || exit 0
7 [ -x /usr/sbin/rpc.statd ] || exit 0
8 [ -x /usr/sbin/rpc.nfsd ] || exit 0
9 [ -x /usr/sbin/rpc.mountd ] || exit 0
10 [ -x /usr/sbin/exportfs ] || exit 0
11
12 # Don't fail if /etc/exports doesn't exist; create a bare-bones version and continue.
13 [ -r /etc/exports ] || \
14 { touch /etc/exports && chmod u+rw,g+r,o+r /etc/exports ; } || \
15 { echo "/etc/exports does not exist" ; exit 0 ; }
16
17 # The /var/lib/nfs directory is actually on a tmpfs filesystem.
18 mkdir -p /var/lib/nfs/sm
19 mkdir -p /var/lib/nfs/sm.bak
20 touch /var/lib/nfs/etab
21 touch /var/lib/nfs/rmtab
22 touch /var/lib/nfs/state
23 touch /var/lib/nfs/xtab
24
25 start() {
26 # Start daemons.
27 echo -n "Starting port mapper: "
28 portmap
29 echo "done"
30
31 echo -n "Starting NFS statd: "
32 rpc.statd
33 touch /var/lock/subsys/nfslock
34 echo "done"
35
36 echo -n "Starting NFS services: "
37 /usr/sbin/exportfs -r
38 rpc.statd
39 echo "done"
40
41 echo -n "Starting NFS daemon: "
42 rpc.nfsd 2
43 echo "done"
44
45 echo -n "Starting NFS mountd: "
46 rpc.mountd
47 echo "done"
48 touch /var/lock/subsys/nfs
49 }
50
51 stop() {
52 # Stop daemons.
53 echo -n "Shutting down NFS mountd: "
54 killall -q rpc.mountd
55 echo "done"
56
57 echo "Shutting down NFS daemon: "
58 kill -9 `pidof nfsd` 2>/dev/null
59 echo "done"
60
61 echo -n "Shutting down NFS services: "
62 /usr/sbin/exportfs -au
63 rm -f /var/lock/subsys/nfs
64 killall -q rpc.statd
65 echo "done"
66
67 echo -n "Stopping NFS statd: "
68 killall -q rpc.statd
69 echo "done"
70 rm -f /var/lock/subsys/nfslock
71
72 echo -n "Stopping port mapper: "
73 killall -q portmap
74 echo "done"
75 }
76
77 # See how we were called.
78 case "$1" in
79 start)
80 start
81 ;;
82 stop)
83 stop
84 ;;
85 restart)
86 stop
87 start
88 ;;
89 reload)
90 /usr/sbin/exportfs -r
91 touch /var/lock/subsys/nfs
92 ;;
93 *)
94 echo "Usage: nfs {start|stop|reload}"
95 exit 1
96 esac
97
98 exit 0
编译portmap和nfs-utils的更多相关文章
- NFS资料
Linux NFS服务器的安装与配置 http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html Linux NFS服务器的安装与配 ...
- 网络文件系统nfs文件系统使用(很全面)
一.NFS简介 1.NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目 ...
- 网络文件系统nfs文件系统使用(比较全面)
一.NFS简介 1.NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目 ...
- nfs服务器的搭建和使用
目录 更新记录 1.nfs介绍 1.1 nfs概念 1.2 nfs工作原理 1.3 nfs通讯过程 2.搭建和测试 NFS 服务器 2.1 搭建NFS服务器 2.2 测试NFS服务器 3.在线调试:N ...
- centos7中nfs共享的配置方法
NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. 一.nfs为什么需要RPC? 因为NFS支持的功能很多,不同 ...
- Linux NFS服务器的安装与配置
一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...
- 搭建NFS服务器
1:yum install -y nfs-utils-* portmap-* 2:NFS安装完毕,需要创建共享目录,共享目录在vi /etc/exports文件里面配置,可配置参数如下: /data/ ...
- NFS 文件系统
NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的. NFS服务的主要配置文件 /etc/exports /etc/exports文件内容格式: <输出目 ...
- Linux NFS 服务部署
系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...
随机推荐
- Python解释器是单线程应用 IO 密集型 计算密集型 GIL global interpreter lock
[Python解释器是单线程应用] [任意时刻,仅执行一个线程] 尽管Python解释器中可以运行多个线程,但是在任意给定的时刻只有一个线程会被解释器执行. [GIL锁 保证同时只有一个线程运行] 对 ...
- 【题解】P3258松鼠的新家
[题解][P3258 JLOI2014]松鼠的新家 树链剖分板子题. 总结一点容易写错的地方吧: if(d[top[u]]<d[top[v]]) swap(u,v);注意是\(top\). 在\ ...
- 【题解】CF264B Good Sequences
[题解]CF264B Good Sequences 具有很明显的无后效性. 考虑\(dp\). 考虑初始条件,显然是\(dp(0)=0\) 考虑转移,显然是\(dp(t)=max(dp[k])+1\) ...
- python cookbook第三版学习笔记九:函数
接受任意数量参数的函数. 当传入函数的参数个数很多的时候,在函数定义的时候不需要为每一个参数定义一个变量,可以用*rest的方式来包含多余的参数. 如下面的代码,*rest包含了2,3,4这3个参数. ...
- STO存在哪些潜在隐患?
STO(Security Token Offering),即证券型通证发行,无疑是现目前区块链圈子讨论最热门的话题之一,纵使STO有很好的前景,但是其潜在隐患也不得不引起重视. 第一,STO与分布式网 ...
- [异步][jms][activeMq]怎样做到重试机制不会导致一条消息被多次运行.
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/fei33423/article/details/32723571 淘宝海量存储之单机事务面临的问题及 ...
- 有关svg的一些理解
SVG 是使用XML来描述二维图形和绘图程序的语言. SVG指可伸缩的矢量图形(Scalable Vector Graphics) SVG使用XML格式定义图形 SVG图形在放大或改变尺寸的情况下,图 ...
- css三角形实现的几种方法的区别
演变: .triangle{ height: 30px; width: 30px; display: inline-block; border: 30px solid; border-color: # ...
- 【转载】帧缓冲驱动程序分析及其在BSP上的添加
原文地址:(四)帧缓冲驱动程序分析及其在BSP上的添加 作者:gfvvz 一.BSP修改及其分析 1. BSP中直接配置的四个寄存器 S3C6410数据手册的第14.5部分是显示控制器的编程模型部 ...
- initcall_debug简要说明【转】
本文转载自:https://blog.csdn.net/zangdongming/article/details/37769265 Linux version 3.10.40 1. 使用说明 Docu ...