[d47e7ea9] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
[6732c094] | 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
[d47e7ea9] | 4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
| 5 | %general-entities;
|
---|
| 6 |
|
---|
[2bcb24e] | 7 | <!ENTITY nfs-utils-root "&kernel-dl;/linux/utils/nfs-utils" >
|
---|
| 8 | <!ENTITY nfs-utils-download-http "&nfs-utils-root;/&nfs-utils-version;/nfs-utils-&nfs-utils-version;.tar.xz">
|
---|
[8070b391] | 9 | <!ENTITY nfs-utils-download-ftp " ">
|
---|
[306a1a2] | 10 | <!ENTITY nfs-utils-md5sum "d47ff4ca79b71d64d37c0f0e81aae134">
|
---|
| 11 | <!ENTITY nfs-utils-size "712 KB">
|
---|
[bc7af21] | 12 | <!ENTITY nfs-utils-buildsize "17 MB (with tests)">
|
---|
[306a1a2] | 13 | <!ENTITY nfs-utils-time "0.2 SBU (with tests)">
|
---|
[d47e7ea9] | 14 | ]>
|
---|
| 15 |
|
---|
[f8af105] | 16 | <sect1 id="nfs-utils" xreflabel="nfs-utils-&nfs-utils-version;">
|
---|
[b86cfc2] | 17 | <?dbhtml filename="nfs-utils.html"?>
|
---|
| 18 |
|
---|
| 19 |
|
---|
[f8af105] | 20 | <title>NFS-Utils-&nfs-utils-version;</title>
|
---|
[b86cfc2] | 21 |
|
---|
| 22 | <indexterm zone="nfs-utils">
|
---|
| 23 | <primary sortas="a-Nfs-utils">NFS Utilities</primary>
|
---|
| 24 | </indexterm>
|
---|
| 25 |
|
---|
| 26 | <sect2 role="package">
|
---|
| 27 | <title>Introduction to NFS Utilities</title>
|
---|
| 28 |
|
---|
[b51fe6e] | 29 | <para>
|
---|
| 30 | The <application>NFS Utilities</application> package contains the
|
---|
| 31 | userspace server and client tools necessary to use the kernel's NFS
|
---|
| 32 | abilities. NFS is a protocol that allows sharing file systems over the
|
---|
| 33 | network.
|
---|
| 34 | </para>
|
---|
[b86cfc2] | 35 |
|
---|
[2a7cafa] | 36 | &lfs113_checked;
|
---|
[d40e1a4] | 37 |
|
---|
[08fa4835] | 38 | <bridgehead renderas="sect3">Package Information</bridgehead>
|
---|
[b86cfc2] | 39 | <itemizedlist spacing='compact'>
|
---|
| 40 | <listitem>
|
---|
[b51fe6e] | 41 | <para>
|
---|
| 42 | Download (HTTP): <ulink url="&nfs-utils-download-http;"/>
|
---|
| 43 | </para>
|
---|
[b86cfc2] | 44 | </listitem>
|
---|
| 45 | <listitem>
|
---|
[b51fe6e] | 46 | <para>
|
---|
| 47 | Download (FTP): <ulink url="&nfs-utils-download-ftp;"/>
|
---|
| 48 | </para>
|
---|
[b86cfc2] | 49 | </listitem>
|
---|
| 50 | <listitem>
|
---|
[b51fe6e] | 51 | <para>
|
---|
| 52 | Download MD5 sum: &nfs-utils-md5sum;
|
---|
| 53 | </para>
|
---|
[b86cfc2] | 54 | </listitem>
|
---|
| 55 | <listitem>
|
---|
[b51fe6e] | 56 | <para>
|
---|
| 57 | Download size: &nfs-utils-size;
|
---|
| 58 | </para>
|
---|
[b86cfc2] | 59 | </listitem>
|
---|
| 60 | <listitem>
|
---|
[b51fe6e] | 61 | <para>
|
---|
| 62 | Estimated disk space required: &nfs-utils-buildsize;
|
---|
| 63 | </para>
|
---|
[b86cfc2] | 64 | </listitem>
|
---|
| 65 | <listitem>
|
---|
[b51fe6e] | 66 | <para>
|
---|
| 67 | Estimated build time: &nfs-utils-time;
|
---|
| 68 | </para>
|
---|
[b86cfc2] | 69 | </listitem>
|
---|
| 70 | </itemizedlist>
|
---|
| 71 |
|
---|
| 72 | <bridgehead renderas="sect3">NFS Utilities Dependencies</bridgehead>
|
---|
| 73 |
|
---|
| 74 | <bridgehead renderas="sect4">Required</bridgehead>
|
---|
[ed6a289c] | 75 | <para role="required">
|
---|
[306a1a2] | 76 | <xref linkend="libtirpc"/>,
|
---|
| 77 | <xref linkend="libevent"/>,
|
---|
| 78 | <xref linkend="rpcsvc-proto"/>, and
|
---|
| 79 | <xref linkend="sqlite"/>
|
---|
[ed6a289c] | 80 | </para>
|
---|
[06eb274] | 81 |
|
---|
[b163480] | 82 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
[ed6a289c] | 83 | <para role="optional">
|
---|
[758f3f6] | 84 | <xref linkend="cyrus-sasl"/> (for SASL authentication),
|
---|
[a15d5e1] | 85 | <xref linkend="lvm2"/> (libdevmapper for NFSv4 support),
|
---|
[1b2b8eb2] | 86 | <!--<xref linkend="libnfsidmap"/> (for NFSv4 support),
|
---|
| 87 | This is now built in, as of 2.2.1-->
|
---|
[a15d5e1] | 88 | <xref linkend="libnsl"/> (for NIS client support),
|
---|
[758f3f6] | 89 | <xref linkend="openldap"/> (for LDAP authentication),
|
---|
[ed6a289c] | 90 | <xref linkend="mitkrb"/> or
|
---|
[b51fe6e] | 91 | <ulink url="http://www.citi.umich.edu/projects/nfsv4/linux/">
|
---|
| 92 | libgssapi
|
---|
| 93 | </ulink>, and
|
---|
| 94 | <ulink url="http://www.citi.umich.edu/projects/nfsv4/linux/">
|
---|
| 95 | librpcsecgss
|
---|
| 96 | </ulink> (for GSS and RPC security support), and
|
---|
[56605b9] | 97 | <xref linkend="libcap-pam"/>
|
---|
[ed6a289c] | 98 | </para>
|
---|
[0f10bc0] | 99 |
|
---|
[b163480] | 100 | <bridgehead renderas="sect4">Required (runtime)</bridgehead>
|
---|
| 101 | <para role="required">
|
---|
[45029cb] | 102 | <xref role="runtime" linkend="rpcbind"/>
|
---|
[ed6a289c] | 103 | </para>
|
---|
[b86cfc2] | 104 |
|
---|
[a15d5e1] | 105 | <!-- NSS configuration isn't directly related to NFS, but left here in case
|
---|
| 106 | <bridgehead renderas="sect4">Optional (runtime for NIS clients)</bridgehead>
|
---|
| 107 | <para role="optional">
|
---|
| 108 | <ulink url="https://github.com/thkukuk/libnss_compat">libnss_compat</ulink>,
|
---|
[8558044] | 109 | <ulink url="https://github.com/thkukuk/libnss_nis">libnss_nis</ulink>, and
|
---|
[a15d5e1] | 110 | <ulink url="https://github.com/thkukuk/libnss_nisplus">libnss_nisplus</ulink>
|
---|
| 111 | </para>
|
---|
| 112 | -->
|
---|
| 113 |
|
---|
[42ddc30] | 114 | <para condition="html" role="usernotes">Editor Notes:
|
---|
[1ef28cd2] | 115 | <ulink url="&blfs-wiki;/nfs-utils"/></para>
|
---|
[3cb0c57] | 116 |
|
---|
[b86cfc2] | 117 | </sect2>
|
---|
| 118 |
|
---|
| 119 | <sect2 role="kernel" id='nfs-utils-kernel'>
|
---|
| 120 | <title>Kernel Configuration</title>
|
---|
| 121 |
|
---|
[b51fe6e] | 122 | <para>
|
---|
| 123 | Enable the following options in the kernel configuration
|
---|
| 124 | (choose client and/or server support as appropriate) and recompile the
|
---|
| 125 | kernel if necessary:
|
---|
| 126 | </para>
|
---|
[d47e7ea9] | 127 |
|
---|
[b163480] | 128 | <screen><literal>File systems --->
|
---|
[196d393] | 129 | [*] Network File Systems ---> [CONFIG_NETWORK_FILESYSTEMS]
|
---|
| 130 | <*/M> NFS client support [CONFIG_NFS_FS]
|
---|
| 131 | <*/M> NFS server support [CONFIG_NFSD]</literal></screen>
|
---|
[d47e7ea9] | 132 |
|
---|
[b51fe6e] | 133 | <para>
|
---|
| 134 | Select the appropriate sub-options that appear when the above options
|
---|
| 135 | are selected.
|
---|
| 136 | </para>
|
---|
[b86cfc2] | 137 |
|
---|
[d2df2ce] | 138 | <note>
|
---|
| 139 | <para>
|
---|
| 140 | In BLFS we assume that nfs v3 will be used. If the
|
---|
| 141 | <emphasis>server</emphasis> offers nfs v4 (for linux, CONFIG_NFSD_V4)
|
---|
| 142 | then auto-negotiation for v3 will fail and you will need to add
|
---|
| 143 | <literal>nfsver=3</literal> to the mount options. This also applies
|
---|
| 144 | if that option is enabled in the <emphasis>client's</emphasis> kernel,
|
---|
| 145 | for example in a distro trying to mount from a BLFS v3 server.
|
---|
| 146 | </para>
|
---|
[1f4c3f9f] | 147 | <para>
|
---|
| 148 | Even if neither end of the connection supports nfs v4, adding
|
---|
| 149 | <literal>nfsver=3</literal> is still beneficial because it prevents an
|
---|
| 150 | error message "NFS: bad mount option value specified: minorversion=1"
|
---|
| 151 | being logged on every mount.
|
---|
| 152 | </para>
|
---|
[d2df2ce] | 153 | </note>
|
---|
| 154 |
|
---|
[b86cfc2] | 155 | <indexterm zone="nfs-utils nfs-utils-kernel">
|
---|
| 156 | <primary sortas="d-nfs-utils">NFS Utilities</primary>
|
---|
| 157 | </indexterm>
|
---|
[d47e7ea9] | 158 |
|
---|
[b86cfc2] | 159 | </sect2>
|
---|
[d47e7ea9] | 160 |
|
---|
[e20c8110] | 161 | <sect2 role="installation" id='nfs-utils-install'
|
---|
| 162 | xreflabel='NFS Utilities Installation'>
|
---|
[b86cfc2] | 163 | <title>Installation of NFS Utilities</title>
|
---|
[2384999] | 164 | <!--
|
---|
[b51fe6e] | 165 | <para>
|
---|
| 166 | Before you compile the program, ensure that the <systemitem
|
---|
| 167 | class="username">nobody</systemitem> user and <systemitem
|
---|
| 168 | class="groupname">nogroup</systemitem> group have been created as done in
|
---|
| 169 | the current LFS book. You can add them by running the following commands
|
---|
| 170 | as the <systemitem class="username">root</systemitem> user:
|
---|
| 171 | </para>
|
---|
[a16cb066] | 172 |
|
---|
[8c2155e] | 173 | <screen role="nodump"><userinput>groupadd -g 99 nogroup &&
|
---|
[0dfb754] | 174 | useradd -c "Unprivileged Nobody" -d /dev/null -g nogroup \
|
---|
| 175 | -s /bin/false -u 99 nobody</userinput></screen>
|
---|
[d47e7ea9] | 176 |
|
---|
[b86cfc2] | 177 | <note>
|
---|
[b51fe6e] | 178 | <para>
|
---|
| 179 | The classic uid and gid values are 65534 which is also -2 when
|
---|
| 180 | interpreted as a signed 16-bit number. These values impact other files
|
---|
| 181 | on some filesystems that do not have support for sparse files. The
|
---|
| 182 | <systemitem class="username">nobody</systemitem> and <systemitem
|
---|
| 183 | class="groupname">nogroup</systemitem> values are relatively arbitrary.
|
---|
| 184 | The impact on a server is nil if the <filename>exports</filename> file
|
---|
| 185 | is configured correctly. If it is misconfigured, an
|
---|
| 186 | <command>ls -l</command> or <command>ps</command> listing will show a
|
---|
| 187 | uid or gid number of 65534 instead of a name. The client uses
|
---|
| 188 | <systemitem class="username">nobody</systemitem> only as the user
|
---|
| 189 | running <command>rpc.statd</command>.
|
---|
| 190 | </para>
|
---|
[b86cfc2] | 191 | </note>
|
---|
[2384999] | 192 | -->
|
---|
[b51fe6e] | 193 | <para>
|
---|
| 194 | Install <application>NFS Utilities</application> by running
|
---|
| 195 | the following commands:
|
---|
| 196 | </para>
|
---|
[d47e7ea9] | 197 |
|
---|
[7abed3b] | 198 | <screen><userinput>./configure --prefix=/usr \
|
---|
[37441de] | 199 | --sysconfdir=/etc \
|
---|
[6ef71d2f] | 200 | --sbindir=/usr/sbin \
|
---|
[37441de] | 201 | --disable-nfsv4 \
|
---|
[0a356286] | 202 | --disable-gss \
|
---|
[306a1a2] | 203 | LIBS="-lsqlite3 -levent_core" &&
|
---|
[a16cb066] | 204 | make</userinput></screen>
|
---|
| 205 |
|
---|
[1f4c3f9f] | 206 | <!-- Test breakage: see
|
---|
[306a1a2] | 207 | http://lists.linuxfromscratch.org/pipermail/blfs-book/2017-December/071861.html
|
---|
[b51fe6e] | 208 | <para>
|
---|
| 209 | This package does not come with a working test suite.
|
---|
| 210 | </para>
|
---|
[306a1a2] | 211 | -->
|
---|
[1f4c3f9f] | 212 |
|
---|
[b51fe6e] | 213 | <para>
|
---|
[306a1a2] | 214 | Now, as the &root; user:
|
---|
[b51fe6e] | 215 | </para>
|
---|
[d47e7ea9] | 216 |
|
---|
[b163480] | 217 | <!-- dev note: make statduser=$(whoami) DESTDIR=<DESTDIR> install -->
|
---|
| 218 |
|
---|
[306a1a2] | 219 | <screen role='root'><userinput>make install &&
|
---|
| 220 | chmod u+w,go+r /usr/sbin/mount.nfs &&
|
---|
| 221 | chown nobody:nogroup /var/lib/nfs</userinput></screen>
|
---|
[e20c8110] | 222 |
|
---|
[b51fe6e] | 223 | <para>
|
---|
[306a1a2] | 224 | The tests for this package require that the package be installed.
|
---|
| 225 | In addition, the rpc.statd daemon must not be running and the tests
|
---|
| 226 | need to be run as the &root; user.
|
---|
[b51fe6e] | 227 | </para>
|
---|
[f3429309] | 228 |
|
---|
[b51fe6e] | 229 | <para>
|
---|
[bc7af21] | 230 | To test the results, issue, as &root;:
|
---|
[306a1a2] | 231 | </para>
|
---|
[ce386957] | 232 |
|
---|
[bc7af21] | 233 | <screen role="root" remap="test"><userinput>make check</userinput></screen>
|
---|
| 234 |
|
---|
[b86cfc2] | 235 | </sect2>
|
---|
[d47e7ea9] | 236 |
|
---|
[b86cfc2] | 237 | <sect2 role="commands">
|
---|
| 238 | <title>Command Explanations</title>
|
---|
[7abed3b] | 239 | <!--
|
---|
[b51fe6e] | 240 | <para>
|
---|
[8558044] | 241 | <command>sed ... support/nsm/rpc.c</command>: This sed it required
|
---|
[b51fe6e] | 242 | to fix a build issue with glibc-2.26 and later.
|
---|
| 243 | </para>
|
---|
[1b2b8eb2] | 244 |
|
---|
[b51fe6e] | 245 | <para>
|
---|
[1b2b8eb2] | 246 | <parameter>- -disable-nfsv4</parameter>: This allows the package to be
|
---|
[b51fe6e] | 247 | built when libnfsidmap has not been installed.
|
---|
| 248 | </para>
|
---|
[1b2b8eb2] | 249 | nfs-utils now carries libnfsidmap
|
---|
| 250 | -->
|
---|
[b51fe6e] | 251 | <para>
|
---|
| 252 | <parameter>--disable-gss</parameter>: Disables support for
|
---|
| 253 | RPCSEC GSS (RPC Security).
|
---|
| 254 | </para>
|
---|
[a16cb066] | 255 |
|
---|
[b51fe6e] | 256 | <para>
|
---|
[306a1a2] | 257 | <parameter>LIBS="-lsqlite3 -levent_core"</parameter>: is required for
|
---|
| 258 | the fsidd program.
|
---|
| 259 | </para>
|
---|
| 260 |
|
---|
| 261 | <para>
|
---|
| 262 | <command>chown nobody:nogroup /var/lib/nfs</command>: The
|
---|
[8558044] | 263 | rpc.statd program uses the ownership of this directory to set
|
---|
[b51fe6e] | 264 | it's UID and GID. This command sets those to unprivileged entries.
|
---|
[a1b111f8] | 265 | </para>
|
---|
| 266 |
|
---|
[b86cfc2] | 267 | </sect2>
|
---|
[a16cb066] | 268 |
|
---|
[b86cfc2] | 269 | <sect2 role="configuration">
|
---|
| 270 | <title>Configuring NFS Utilities</title>
|
---|
[d47e7ea9] | 271 |
|
---|
[b86cfc2] | 272 | <sect3 id='nfs-utils-server-config'>
|
---|
[3a929dc] | 273 | <title>Server Configuration</title>
|
---|
[d47e7ea9] | 274 |
|
---|
[b51fe6e] | 275 | <para>
|
---|
| 276 | <filename>/etc/exports</filename> contains the exported directories
|
---|
| 277 | on NFS servers. Refer to the <filename>exports.5</filename> manual page
|
---|
| 278 | for the syntax of this file. Also refer to the "NFS HowTo" available at
|
---|
[17aa21c] | 279 | <ulink url="https://nfs.sourceforge.net/nfs-howto/"/> for information on
|
---|
[b51fe6e] | 280 | how to configure the servers and clients in a secure manner. For
|
---|
| 281 | example, for sharing the <filename class="directory">/home</filename>
|
---|
| 282 | directory over the local network, the following line may be added:
|
---|
| 283 | </para>
|
---|
[d47e7ea9] | 284 |
|
---|
[fbbc908] | 285 | <screen role="nodump"><userinput>cat >> /etc/exports << EOF
|
---|
| 286 | <replaceable>/home 192.168.0.0/24</replaceable>(rw,subtree_check,anonuid=99,anongid=99)
|
---|
| 287 | EOF</userinput></screen>
|
---|
[01155b9] | 288 |
|
---|
[b51fe6e] | 289 | <note>
|
---|
| 290 | <para>
|
---|
| 291 | Be sure to replace the directory, network address. and prefix above
|
---|
| 292 | to match your network. The only space in the line above should be
|
---|
| 293 | between the directory and the network address.
|
---|
| 294 | </para>
|
---|
| 295 | </note>
|
---|
[d47e7ea9] | 296 |
|
---|
[b86cfc2] | 297 | <indexterm zone="nfs-utils nfs-utils-server-config">
|
---|
| 298 | <primary sortas="e-etc-exportfs">/etc/exportfs</primary>
|
---|
| 299 | </indexterm>
|
---|
| 300 |
|
---|
[e20c8110] | 301 | <sect4 id="nfs-utils-server-init">
|
---|
[7b478500] | 302 | <title><phrase revision="sysv">Boot Script</phrase>
|
---|
| 303 | <phrase revision="systemd">Systemd Units</phrase></title>
|
---|
| 304 |
|
---|
[b51fe6e] | 305 | <para>
|
---|
| 306 | Install the
|
---|
| 307 | <phrase revision="sysv">
|
---|
| 308 | <filename>/etc/rc.d/init.d/nfs-server</filename>
|
---|
| 309 | init script
|
---|
| 310 | </phrase>
|
---|
| 311 | <phrase revision="systemd">NFSv4 server units</phrase>
|
---|
| 312 | included in the <xref linkend="bootscripts" revision="sysv"/>
|
---|
| 313 | <xref linkend="systemd-units" revision="systemd"/> package
|
---|
| 314 | to start the server at boot.
|
---|
| 315 | </para>
|
---|
[d47e7ea9] | 316 |
|
---|
[7b478500] | 317 | <screen role="root" revision="systemd"><userinput>make install-nfsv4-server</userinput></screen>
|
---|
| 318 |
|
---|
| 319 | <para revision="systemd">
|
---|
| 320 | If you have disabled NFSv4 support, run the following command as the
|
---|
| 321 | <systemitem class="username">root</systemitem> user to omit the NFSv4
|
---|
| 322 | specific systemd units:
|
---|
| 323 | </para>
|
---|
| 324 |
|
---|
| 325 | <!-- both -->
|
---|
[eaf6a1cd] | 326 | <screen role="root"><userinput>make install-nfs-server</userinput></screen>
|
---|
[d47e7ea9] | 327 |
|
---|
[7b478500] | 328 | <indexterm zone="nfs-utils nfs-utils-server-init" revision="sysv">
|
---|
[b86cfc2] | 329 | <primary sortas="f-nfs-server">nfs-server</primary>
|
---|
| 330 | </indexterm>
|
---|
| 331 |
|
---|
[b51fe6e] | 332 | <para revision="sysv">
|
---|
| 333 | Now create the
|
---|
[7b478500] | 334 | <filename>/etc/sysconfig/nfs-server</filename> configuration file:
|
---|
| 335 | </para>
|
---|
[f5e4bdec] | 336 |
|
---|
[7b478500] | 337 | <screen role="root" revision="sysv"><userinput>cat > /etc/sysconfig/nfs-server << "EOF"
|
---|
[eaf6a1cd] | 338 | <literal>PORT="2049"
|
---|
[f5e4bdec] | 339 | PROCESSES="8"
|
---|
[eaf6a1cd] | 340 | KILLDELAY="10"</literal>
|
---|
| 341 | EOF</userinput></screen>
|
---|
[f5e4bdec] | 342 |
|
---|
[7b478500] | 343 | <note revision="sysv">
|
---|
[b51fe6e] | 344 | <para>
|
---|
| 345 | The above parameters may be optionally placed in
|
---|
[7b478500] | 346 | <filename>/etc/sysconfig/rc.site</filename>.
|
---|
| 347 | </para>
|
---|
| 348 | </note>
|
---|
[ed6a289c] | 349 |
|
---|
[7b478500] | 350 | <indexterm zone="nfs-utils nfs-utils-server-init" revision="sysv">
|
---|
[b86cfc2] | 351 | <primary
|
---|
| 352 | sortas="e-etc-sysconfig-nfs-server">/etc/sysconfig/nfs-server</primary>
|
---|
| 353 | </indexterm>
|
---|
| 354 |
|
---|
[7b478500] | 355 | <para revision="systemd">
|
---|
| 356 | You can edit the <filename>/etc/default/nfs-utils</filename>
|
---|
| 357 | file to change the startup options for NFS daemons. Defaults
|
---|
| 358 | should be fine for most use cases.
|
---|
| 359 | </para>
|
---|
| 360 |
|
---|
| 361 | <indexterm zone="nfs-utils nfs-utils-server-init" revision="systemd">
|
---|
| 362 | <primary sortas="e-etc-default-nfs-utils">/etc/default/nfs-utils</primary>
|
---|
| 363 | </indexterm>
|
---|
| 364 |
|
---|
[b86cfc2] | 365 | </sect4>
|
---|
[d47e7ea9] | 366 |
|
---|
[b86cfc2] | 367 | </sect3>
|
---|
[d47e7ea9] | 368 |
|
---|
[b86cfc2] | 369 | <sect3 id='nfs-utils-client-config'>
|
---|
[3a929dc] | 370 | <title>Client Configuration</title>
|
---|
[eaf6a1cd] | 371 |
|
---|
[b51fe6e] | 372 | <para>
|
---|
| 373 | <filename>/etc/fstab</filename> contains the directories that
|
---|
| 374 | are to be mounted on the client. Alternately the partitions can be
|
---|
| 375 | mounted by using the <command>mount</command> command with the proper
|
---|
| 376 | options. To mount the <filename class="directory">/home</filename>
|
---|
| 377 | and <filename class="directory">/usr</filename> partitions, add the
|
---|
| 378 | following to the <filename>/etc/fstab</filename>:
|
---|
| 379 | </para>
|
---|
[a16cb066] | 380 |
|
---|
[fccfaa4] | 381 | <screen role="nodump"><userinput><replaceable><server-name></replaceable>:/home /home nfs rw,_netdev 0 0
|
---|
[0d1cbe66] | 382 | <replaceable><server-name></replaceable>:/usr /usr nfs ro,_netdev 0 0</userinput></screen>
|
---|
| 383 |
|
---|
[b51fe6e] | 384 | <para>
|
---|
| 385 | The options which can be used are specified in <command>man 5 nfs
|
---|
| 386 | </command>. If both the client and server are running recent versions
|
---|
| 387 | of linux, most of the options will be negotiated (but see the Note
|
---|
| 388 | above on nfsver=3). You can specify either <literal>rw</literal> or
|
---|
| 389 | <literal>ro</literal>, <literal>_netdev</literal> if the filesystem is
|
---|
| 390 | to be automatically mounted at boot, or <literal>noauto</literal> (and
|
---|
| 391 | perhaps <literal>user</literal>) for other filesystems.
|
---|
| 392 | </para>
|
---|
[0d1cbe66] | 393 |
|
---|
[b51fe6e] | 394 | <para>
|
---|
| 395 | If the fileserver is not running a recent version of linux, you may
|
---|
[0a0e996] | 396 | need to specify other options.
|
---|
[b51fe6e] | 397 | </para>
|
---|
[0d1cbe66] | 398 |
|
---|
[b51fe6e] | 399 | <para revision="systemd">
|
---|
| 400 | You may need to enable autofs v4 in your kernel, and add the option
|
---|
[758f3f6] | 401 | <literal>comment=systemd.automount</literal>. Some machines may need
|
---|
| 402 | this because systemd tries to mount the external filesystems before
|
---|
| 403 | the network is up. An alternative is to run <command>mount -a</command>
|
---|
| 404 | as the <systemitem class="username">root</systemitem> user after the
|
---|
| 405 | system has started.
|
---|
[b51fe6e] | 406 | </para>
|
---|
[a16cb066] | 407 |
|
---|
[b86cfc2] | 408 | <indexterm zone="nfs-utils nfs-utils-client-config">
|
---|
| 409 | <primary sortas="e-etc-fstab">/etc/fstab</primary>
|
---|
| 410 | </indexterm>
|
---|
[d47e7ea9] | 411 |
|
---|
[b86cfc2] | 412 | <sect4 id="nfs-utils-client-init">
|
---|
[7b478500] | 413 | <title><phrase revision="sysv">Boot Script</phrase>
|
---|
| 414 | <phrase revision="systemd">Systemd Units</phrase></title>
|
---|
| 415 |
|
---|
| 416 | <note>
|
---|
| 417 | <para>
|
---|
| 418 | The following <phrase revision="sysv">boot script is</phrase>
|
---|
| 419 | <phrase revision="systemd">systemd units are</phrase> not required
|
---|
[8558044] | 420 | if the nfs-server <phrase revision="sysv">script is</phrase>
|
---|
[7b478500] | 421 | <phrase revision="systemd">units are</phrase> installed.
|
---|
| 422 | </para>
|
---|
| 423 | </note>
|
---|
| 424 |
|
---|
[b51fe6e] | 425 | <para>
|
---|
| 426 | Install the
|
---|
| 427 | <phrase revision="sysv">
|
---|
| 428 | <filename>/etc/rc.d/init.d/nfs-client</filename> init script
|
---|
| 429 | </phrase>
|
---|
| 430 | <phrase revision="systemd">units</phrase> included in the
|
---|
| 431 | <xref linkend="bootscripts" revision="sysv"/>
|
---|
| 432 | <xref linkend="systemd-units" revision="systemd"/> package to start
|
---|
| 433 | the client services at boot.
|
---|
| 434 | </para>
|
---|
[a16cb066] | 435 |
|
---|
[b86cfc2] | 436 | <screen role="root"><userinput>make install-nfs-client</userinput></screen>
|
---|
[a16cb066] | 437 |
|
---|
[b86cfc2] | 438 | <indexterm zone="nfs-utils nfs-utils-client-config">
|
---|
| 439 | <primary sortas="f-nfs-client">nfs-client</primary>
|
---|
| 440 | </indexterm>
|
---|
| 441 |
|
---|
[b51fe6e] | 442 | <para revision="sysv">
|
---|
| 443 | To automatically mount <systemitem class="filesystem">nfs
|
---|
| 444 | </systemitem> filesystems, clients will also need to install the
|
---|
| 445 | <filename>netfs</filename> bootscript as described in <xref
|
---|
| 446 | linkend="postlfs-config-netfs"/>.
|
---|
| 447 | </para>
|
---|
[b86cfc2] | 448 |
|
---|
[7b478500] | 449 | <indexterm zone="nfs-utils nfs-utils-client-config" revision="sysv">
|
---|
[b86cfc2] | 450 | <primary sortas="f-netfs">netfs</primary>
|
---|
| 451 | </indexterm>
|
---|
| 452 |
|
---|
| 453 | </sect4>
|
---|
| 454 |
|
---|
| 455 | </sect3>
|
---|
| 456 |
|
---|
| 457 | </sect2>
|
---|
| 458 |
|
---|
| 459 | <sect2 role="content">
|
---|
| 460 | <title>Contents</title>
|
---|
| 461 | <segmentedlist>
|
---|
| 462 | <segtitle>Installed Programs</segtitle>
|
---|
| 463 | <segtitle>Installed Libraries</segtitle>
|
---|
| 464 | <segtitle>Installed Directories</segtitle>
|
---|
| 465 |
|
---|
| 466 | <seglistitem>
|
---|
[306a1a2] | 467 | <seg>exportfs, fsidd, mountstats, mount.nfs, mount.nfs4 (link to mount.nfs),
|
---|
[758f3f6] | 468 | nfsconf, nfsdclnts, nfsiostat, nfsstat, rpc.mountd, rpc.nfsd, rpc.statd,
|
---|
[8558044] | 469 | rpcdebug, showmount, sm-notify, start-statd,
|
---|
[758f3f6] | 470 | umount.nfs (link to mount.nfs), and umount.nfs4 (link to mount.nfs)</seg>
|
---|
[b86cfc2] | 471 | <seg>None</seg>
|
---|
| 472 | <seg>/var/lib/nfs</seg>
|
---|
| 473 | </seglistitem>
|
---|
| 474 | </segmentedlist>
|
---|
| 475 |
|
---|
| 476 | <variablelist>
|
---|
| 477 | <bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
---|
| 478 | <?dbfo list-presentation="list"?>
|
---|
| 479 | <?dbhtml list-presentation="table"?>
|
---|
| 480 |
|
---|
| 481 | <varlistentry id="exportfs">
|
---|
| 482 | <term><command>exportfs</command></term>
|
---|
| 483 | <listitem>
|
---|
[b51fe6e] | 484 | <para>
|
---|
[4c24eb0a] | 485 | maintains a list of NFS exported file systems
|
---|
[b51fe6e] | 486 | </para>
|
---|
[b86cfc2] | 487 | <indexterm zone="nfs-utils exportfs">
|
---|
| 488 | <primary sortas="b-exportfs">exportfs</primary>
|
---|
| 489 | </indexterm>
|
---|
| 490 | </listitem>
|
---|
| 491 | </varlistentry>
|
---|
| 492 |
|
---|
[306a1a2] | 493 | <varlistentry id="fsidd">
|
---|
| 494 | <term><command>fsidd</command></term>
|
---|
| 495 | <listitem>
|
---|
| 496 | <para>
|
---|
| 497 | offers a local UNIX domain socket interface
|
---|
| 498 | for all NFS userspace to query the reexport database
|
---|
| 499 | </para>
|
---|
| 500 | <indexterm zone="nfs-utils fsidd">
|
---|
| 501 | <primary sortas="b-fsidd">fsidd</primary>
|
---|
| 502 | </indexterm>
|
---|
| 503 | </listitem>
|
---|
| 504 | </varlistentry>
|
---|
| 505 |
|
---|
[d40e1a4] | 506 | <varlistentry id="mountstats">
|
---|
| 507 | <term><command>mountstats</command></term>
|
---|
| 508 | <listitem>
|
---|
[b51fe6e] | 509 | <para>
|
---|
[4c24eb0a] | 510 | displays NFS client per-mount statistics
|
---|
[b51fe6e] | 511 | </para>
|
---|
[d40e1a4] | 512 | <indexterm zone="nfs-utils mountstats">
|
---|
| 513 | <primary sortas="b-mountstats">mountstats</primary>
|
---|
| 514 | </indexterm>
|
---|
| 515 | </listitem>
|
---|
| 516 | </varlistentry>
|
---|
| 517 |
|
---|
[6d772cc] | 518 | <varlistentry id="mount.nfs">
|
---|
[0f10bc0] | 519 | <term><command>mount.nfs</command></term>
|
---|
| 520 | <listitem>
|
---|
[b51fe6e] | 521 | <para>
|
---|
[4c24eb0a] | 522 | is used to mount a network share using NFS
|
---|
[b51fe6e] | 523 | </para>
|
---|
[6d772cc] | 524 | <indexterm zone="nfs-utils mount.nfs">
|
---|
| 525 | <primary sortas="b-mount.nfs">mount.nfs</primary>
|
---|
[0f10bc0] | 526 | </indexterm>
|
---|
| 527 | </listitem>
|
---|
| 528 | </varlistentry>
|
---|
| 529 |
|
---|
[6d772cc] | 530 | <varlistentry id="mount.nfs4">
|
---|
[0f10bc0] | 531 | <term><command>mount.nfs4</command></term>
|
---|
| 532 | <listitem>
|
---|
[b51fe6e] | 533 | <para>
|
---|
[4c24eb0a] | 534 | is used to mount a network share using NFSv4
|
---|
[b51fe6e] | 535 | </para>
|
---|
[6d772cc] | 536 | <indexterm zone="nfs-utils mount.nfs4">
|
---|
| 537 | <primary sortas="b-mount.nfs4">mount.nfs4</primary>
|
---|
[0f10bc0] | 538 | </indexterm>
|
---|
| 539 | </listitem>
|
---|
| 540 | </varlistentry>
|
---|
| 541 |
|
---|
[2bcb24e] | 542 | <varlistentry id="nfsconf">
|
---|
| 543 | <term><command>nfsconf</command></term>
|
---|
| 544 | <listitem>
|
---|
[b51fe6e] | 545 | <para>
|
---|
| 546 | can be used to test for and retrieve configuration settings from
|
---|
[4c24eb0a] | 547 | a range of nfs-utils configuration files
|
---|
[b51fe6e] | 548 | </para>
|
---|
[2bcb24e] | 549 | <indexterm zone="nfs-utils nfsconf">
|
---|
| 550 | <primary sortas="b-nfsconf">nfsconf</primary>
|
---|
| 551 | </indexterm>
|
---|
| 552 | </listitem>
|
---|
| 553 | </varlistentry>
|
---|
| 554 |
|
---|
[758f3f6] | 555 | <varlistentry id="nfsdclnts">
|
---|
| 556 | <term><command>nfsdclnts</command></term>
|
---|
| 557 | <listitem>
|
---|
| 558 | <para>
|
---|
[4c24eb0a] | 559 | prints information about NFS clients
|
---|
[758f3f6] | 560 | </para>
|
---|
| 561 | <indexterm zone="nfs-utils nfsdclnts">
|
---|
| 562 | <primary sortas="b-nfsdclnts">nfsdclnts</primary>
|
---|
| 563 | </indexterm>
|
---|
| 564 | </listitem>
|
---|
| 565 | </varlistentry>
|
---|
| 566 |
|
---|
[d40e1a4] | 567 | <varlistentry id="nfsiostat-nfs-utils">
|
---|
| 568 | <term><command>nfsiostat</command></term>
|
---|
| 569 | <listitem>
|
---|
[b51fe6e] | 570 | <para>
|
---|
[4c24eb0a] | 571 | reports input/output statistics for network filesystems
|
---|
[b51fe6e] | 572 | </para>
|
---|
[d40e1a4] | 573 | <indexterm zone="nfs-utils nfsiostat-nfs-utils">
|
---|
| 574 | <primary sortas="b-nfsiostat-nfs-utils">nfsiostat</primary>
|
---|
| 575 | </indexterm>
|
---|
| 576 | </listitem>
|
---|
| 577 | </varlistentry>
|
---|
| 578 |
|
---|
[b86cfc2] | 579 | <varlistentry id="nfsstat">
|
---|
| 580 | <term><command>nfsstat</command></term>
|
---|
| 581 | <listitem>
|
---|
[b51fe6e] | 582 | <para>
|
---|
[4c24eb0a] | 583 | displays statistics kept about NFS client and server activity
|
---|
[b51fe6e] | 584 | </para>
|
---|
[b86cfc2] | 585 | <indexterm zone="nfs-utils nfsstat">
|
---|
| 586 | <primary sortas="b-nfsstat">nfsstat</primary>
|
---|
| 587 | </indexterm>
|
---|
| 588 | </listitem>
|
---|
| 589 | </varlistentry>
|
---|
| 590 |
|
---|
[2bcb24e] | 591 | <!-- osd_login seems to no longer exist.
|
---|
[72d90b67] | 592 | <varlistentry id="osd_login">
|
---|
[8b9ad6e] | 593 | <term><command>osd_login</command></term>
|
---|
[72d90b67] | 594 | <listitem>
|
---|
[b51fe6e] | 595 | <para>
|
---|
| 596 | is a script that is a part of the autologin feature
|
---|
| 597 | mandated by the pnfs-objects standard.
|
---|
| 598 | </para>
|
---|
[72d90b67] | 599 | <indexterm zone="nfs-utils osd_login">
|
---|
| 600 | <primary sortas="b-osd_login">osd_login</primary>
|
---|
| 601 | </indexterm>
|
---|
| 602 | </listitem>
|
---|
[2bcb24e] | 603 | </varlistentry> -->
|
---|
[72d90b67] | 604 |
|
---|
| 605 |
|
---|
[6d772cc] | 606 | <varlistentry id="rpc.mountd">
|
---|
[b86cfc2] | 607 | <term><command>rpc.mountd</command></term>
|
---|
| 608 | <listitem>
|
---|
[b51fe6e] | 609 | <para>
|
---|
[4c24eb0a] | 610 | implements the NFS mount protocol on an NFS server
|
---|
[b51fe6e] | 611 | </para>
|
---|
[6d772cc] | 612 | <indexterm zone="nfs-utils rpc.mountd">
|
---|
| 613 | <primary sortas="b-rpc.mountd">rpc.mountd</primary>
|
---|
[b86cfc2] | 614 | </indexterm>
|
---|
| 615 | </listitem>
|
---|
| 616 | </varlistentry>
|
---|
| 617 |
|
---|
[6d772cc] | 618 | <varlistentry id="rpc.nfsd">
|
---|
[b86cfc2] | 619 | <term><command>rpc.nfsd</command></term>
|
---|
| 620 | <listitem>
|
---|
[b51fe6e] | 621 | <para>
|
---|
| 622 | implements the user level part of the NFS
|
---|
[4c24eb0a] | 623 | service on the server
|
---|
[b51fe6e] | 624 | </para>
|
---|
[6d772cc] | 625 | <indexterm zone="nfs-utils rpc.nfsd">
|
---|
| 626 | <primary sortas="b-rpc.nfsd">rpc.nfsd</primary>
|
---|
[b86cfc2] | 627 | </indexterm>
|
---|
| 628 | </listitem>
|
---|
| 629 | </varlistentry>
|
---|
| 630 |
|
---|
[6d772cc] | 631 | <varlistentry id="rpc.statd">
|
---|
[b86cfc2] | 632 | <term><command>rpc.statd</command></term>
|
---|
| 633 | <listitem>
|
---|
[b51fe6e] | 634 | <para>
|
---|
| 635 | is used by the NFS file locking service. Run on both sides,
|
---|
[4c24eb0a] | 636 | client as well as server, when you want file locking enabled
|
---|
[b51fe6e] | 637 | </para>
|
---|
[6d772cc] | 638 | <indexterm zone="nfs-utils rpc.statd">
|
---|
| 639 | <primary sortas="b-rpc.statd">rpc.statd</primary>
|
---|
[b86cfc2] | 640 | </indexterm>
|
---|
| 641 | </listitem>
|
---|
| 642 | </varlistentry>
|
---|
| 643 |
|
---|
[d3761424] | 644 | <varlistentry id="rpcdebug">
|
---|
| 645 | <term><command>rpcdebug</command></term>
|
---|
| 646 | <listitem>
|
---|
[b51fe6e] | 647 | <para>
|
---|
[4c24eb0a] | 648 | sets or clears the kernel's NFS client and server debug flags
|
---|
[b51fe6e] | 649 | </para>
|
---|
[d3761424] | 650 | <indexterm zone="nfs-utils rpcdebug">
|
---|
| 651 | <primary sortas="b-rpcdebug">rpcdebug</primary>
|
---|
| 652 | </indexterm>
|
---|
| 653 | </listitem>
|
---|
| 654 | </varlistentry>
|
---|
| 655 |
|
---|
[b86cfc2] | 656 | <varlistentry id="showmount">
|
---|
| 657 | <term><command>showmount</command></term>
|
---|
| 658 | <listitem>
|
---|
[b51fe6e] | 659 | <para>
|
---|
[4c24eb0a] | 660 | displays mount information for an NFS server
|
---|
[b51fe6e] | 661 | </para>
|
---|
[b86cfc2] | 662 | <indexterm zone="nfs-utils showmount">
|
---|
| 663 | <primary sortas="b-showmount">showmount</primary>
|
---|
| 664 | </indexterm>
|
---|
| 665 | </listitem>
|
---|
| 666 | </varlistentry>
|
---|
| 667 |
|
---|
[d3761424] | 668 | <varlistentry id="sm-notify">
|
---|
| 669 | <term><command>sm-notify</command></term>
|
---|
| 670 | <listitem>
|
---|
[b51fe6e] | 671 | <para>
|
---|
[4c24eb0a] | 672 | is used to send Network Status Monitor reboot messages
|
---|
[b51fe6e] | 673 | </para>
|
---|
[d3761424] | 674 | <indexterm zone="nfs-utils sm-notify">
|
---|
| 675 | <primary sortas="b-sm-notify">sm-notify</primary>
|
---|
| 676 | </indexterm>
|
---|
| 677 | </listitem>
|
---|
| 678 | </varlistentry>
|
---|
| 679 |
|
---|
| 680 | <varlistentry id="start-statd">
|
---|
| 681 | <term><command>start-statd</command></term>
|
---|
| 682 | <listitem>
|
---|
[b51fe6e] | 683 | <para>
|
---|
| 684 | is a script called by nfsmount when mounting a filesystem with
|
---|
| 685 | locking enabled, if statd does not appear to be running. It can be
|
---|
[4c24eb0a] | 686 | customised with whatever flags are appropriate for the site
|
---|
[b51fe6e] | 687 | </para>
|
---|
[d3761424] | 688 | <indexterm zone="nfs-utils start-statd">
|
---|
| 689 | <primary sortas="b-start-statd">start-statd</primary>
|
---|
| 690 | </indexterm>
|
---|
| 691 | </listitem>
|
---|
| 692 | </varlistentry>
|
---|
| 693 |
|
---|
[6d772cc] | 694 | <varlistentry id="umount.nfs">
|
---|
[0f10bc0] | 695 | <term><command>umount.nfs</command></term>
|
---|
| 696 | <listitem>
|
---|
[b51fe6e] | 697 | <para>
|
---|
[4c24eb0a] | 698 | is used to unmount a network share using NFS
|
---|
[b51fe6e] | 699 | </para>
|
---|
[6d772cc] | 700 | <indexterm zone="nfs-utils umount.nfs">
|
---|
| 701 | <primary sortas="b-umount.nfs">umount.nfs</primary>
|
---|
[0f10bc0] | 702 | </indexterm>
|
---|
| 703 | </listitem>
|
---|
| 704 | </varlistentry>
|
---|
| 705 |
|
---|
[6d772cc] | 706 | <varlistentry id="umount.nfs4">
|
---|
[0f10bc0] | 707 | <term><command>umount.nfs4</command></term>
|
---|
| 708 | <listitem>
|
---|
[b51fe6e] | 709 | <para>
|
---|
[4c24eb0a] | 710 | is used to unmount a network share using NFSv4
|
---|
[b51fe6e] | 711 | </para>
|
---|
[6d772cc] | 712 | <indexterm zone="nfs-utils umount.nfs4">
|
---|
| 713 | <primary sortas="b-umount.nfs4">umount.nfs4</primary>
|
---|
[0f10bc0] | 714 | </indexterm>
|
---|
| 715 | </listitem>
|
---|
| 716 | </varlistentry>
|
---|
| 717 |
|
---|
[b86cfc2] | 718 | </variablelist>
|
---|
| 719 |
|
---|
| 720 | </sect2>
|
---|
[d47e7ea9] | 721 |
|
---|
[176b211] | 722 | </sect1>
|
---|