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实用程序依赖关系
需要
在内核配置中启用以下选项(酌情选择客户端和/或服务器支持),并在必要时重新编译内核:
File systems ---> [*] Network File Systems ---> [CONFIG_NETWORK_FILESYSTEMS] <*/M> NFS client support [CONFIG_NFS_FS] <*/M> NFS server support [CONFIG_NFSD]
选择上述选项时显示的相应子选项。
在编译程序之前,请确保在当前的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-server
init脚本以在引导时启动服务器。
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-client
init脚本,以在引导时启动客户端服务。
make install-nfs-client
要自动挂载nfs
文件系统,客户端还需要netfs
按照“配置网络文件系统”中所述安装bootscript。