NFS-utils的-2.1.1
NFS实用程序简介
在NFS工具包中包含必要使用内核的NFS能力的用户空间的服务器和客户端工具。NFS是一种允许通过网络共享文件系统的协议。
已知使用LFS-8.0平台构建并正常工作的此软件包。
包装信息
-
下载(HTTP):http://downloads.sourceforge.net/nfs/nfs-utils-2.1.1.tar.bz2
-
下载MD5总和:1157abcfaa8670f990f408cf280426b4
-
下载大小:801 KB
-
估计所需的磁盘空间:16 MB
-
预计搭建时间:0.1 SBU
NFS实用程序依赖关系
需要
libtirpc-1.0.1
在内核配置中启用以下选项(酌情选择客户端和/或服务器支持),并在必要时重新编译内核:
File systems --->
[*] Network File Systems ---> [CONfig_NETWORK_FILESYstemS]
<*/M> NFS client support [CONfig_NFS_FS]
<*/M> NFS server support [CONfig_NFSD]
选择上述选项时显示的相应子选项。
注意
在BLFS中,我们假设将使用nfs v3。如果服务器提供nfs v4(对于linux,CONfig_NFSD_V4),则v3的自动协商将失败,您将需要添加nfsver=3到安装选项。如果在客户端的内核中启用了该选项,例如在尝试从BLFS v3服务器进行装载的发行版中,这也适用。
在编译程序之前,请确保在当前的LFS书中已经创建了nobody用户和nogroup组。您可以通过以root用户身份运行以下命令来添加它们:
groupadd -g 99 nogroup &&
useradd -c "Unprivileged Nobody" -d /dev/null -g nogroup \
-s /bin/false -u 99 nobody
经典的uid和gid值是65534,当解释为有符号的16位数时也是-2。这些值会影响某些不支持稀疏文件的文件系统上的其他文件。这些nobody和nogroup值是相对任意的。如果exports文件配置正确,对服务器的影响为零。如果配置错误,则ls -l或ps列表将显示一个uid或gid号65534而不是一个名称。客户端nobody仅作为运行rpc.statd的用户使用。
通过运行以下命令安装NFS实用程序:
./configure --prefix=/usr \
--sysconfdir=/etc \
--sbindir=/sbin \
--without-tcp-wrappers \
--disable-nfsv4 \
--disable-gss &&
make
如果您的/usr目录是NFS挂载的,那么您应该/sbin通过--sbindir=/sbin向上述./configure命令传递一个附加参数来安装可执行文件。
现在,作为root用户:
make install && chmod u+w,go+r /sbin/mount.nfs && chown nobody.nogroup /var/lib/nfs
该软件包的测试要求软件包按以下规定进行安装和配置。此外,rpcbind-0.2.4中的守护程序需要运行,测试需要作为root用户运行。
要测试结果,以root身份发出:进行检查。
--without-tcp-wrappers:需要此选项,因为TCP Wrappers不在BLFS中。
--disable-nfsv4:这样可以在没有安装libnfsidmap时构建软件包。
--disable-gss:禁用对RPCSEC GSS(RPC安全)的支持。
chown nobody.nogroup / var / lib / nfs:rpc.statd程序使用该目录的所有权来设置它的UID和GID。此命令将这些命令设置为非特权条目。
服务器配置
/etc/exports包含NFS服务器上的导出目录。exports.5有关此文件的语法,请参阅手册页。有关如何以安全的方式配置服务器和客户端的信息,请参阅http://nfs.sourceforge.net/nfs-howto/上的“NFS HowTo”。例如,为了/home通过本地网络共享目录,可以添加以下行:
/home (rw,subtree_check,anonuid=99,anongid=99) 192.168.0.0/24
注意
一定要更换目录,网络地址。并在上面添加前缀以匹配您的网络。上述行中唯一的空格应该在目录和网络地址之间。
启动脚本
安装包含在blfs-bootscripts-20170611软件包中的/etc/rc.d/init.d/nfs-serverinit脚本以在引导时启动服务器。
make install-nfs-server
现在创建/etc/sysconfig/nfs-server配置文件:
cat > /etc/sysconfig/nfs-server << "EOF" EOF PORT="2049" PROCESSES="8" QUOTAS="no" KILLDELAY="10"
注意
上述参数可以选择放置在/etc/sysconfig/rc.site。
客户端配置
/etc/fstab包含要挂载在客户机上的目录。或者,可以通过使用具有适当选项的mount命令来安装分区。要安装/home和/usr分区,请将以下内容添加到/etc/fstab:
:/home /home nfs rw,_netdev 0 0 :/usr /usr nfs ro,_netdev 0 0 <server-name><server-name>
可以使用的选项在man 5 nfs中指定。如果客户端和服务器都运行最新版本的linux,大多数选项将被协商。您可以指定rw或者ro,_netdev如果文件系统要在启动时自动挂载,或者noauto(也可能user)指定其他文件系统。
如果文件服务器没有运行最新版本的linux,则可能需要指定其他选项。
如果使用systemd,则可能需要在内核中启用autofs v4,并添加该选项comment=systemd.automount。有些机器需要这个功能,因为systemd尝试在网络启动之前安装外部fs,有些机器不需要它。另一种方法是root运行mount -a。
启动脚本
如果安装了nfs-server脚本,则不需要以下引导脚本。
安装blfs-bootscripts-20170611软件包中包含的/etc/rc.d/init.d/nfs-clientinit脚本,以在引导时启动客户端服务。
make install-nfs-client
要自动挂载nfs文件系统,客户端还需要netfs按照“配置网络文件系统”中所述安装bootscript。
简短说明
| exportfs |
维护NFS导出文件系统的列表。 |
| mountstats |
显示NFS客户端每个装载统计信息。 |
| mount.nfs |
用于使用NFS挂载网络共享 |
| mount.nfs4 |
用于使用NFSv4挂载网络共享 |
| nfsiostat |
报告网络文件系统的输入/输出统计信息。 |
| 使用nfsstat |
显示有关NFS客户端和服务器活动的统计信息。 |
| osd_login |
是脚本,它是pnfs-objects标准规定的自动登录功能的一部分。 |
| rpc.mountd |
在NFS服务器上实现NFS安装协议。 |
| rpc.nfsd |
在服务器上实现NFS服务的用户级部分。 |
| 的rpc.statd |
由NFS文件锁定服务使用。当您要启用文件锁定时,双方运行客户端和服务器。 |
| rpcdebug |
设置或清除内核的NFS客户端和服务器调试标志。 |
| 的showmount |
显示NFS服务器的挂载信息。 |
| SM-通知 |
用于发送网络状态监视器重新启动消息。 |
| 启动的statd |
在安装启用锁定的文件系统时,如果statd似乎没有运行,则是由nfsmount调用的脚本。它可以定制,适合于网站的任何标志。 |
| umount.nfs |
用于使用NFS卸载网络共享 |
| umount.nfs4 |
用于使用NFSv4卸载网络共享 |