source: networking/netprogs/nfs-utils.xml@ 7b478500

10.0 10.1 11.0 11.1 11.2 11.3 12.0 7.10 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/inkscape-core-mods lazarus lxqt nosym perl-modules plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 7b478500 was 7b478500, checked in by DJ Lucas <dj@…>, 7 years ago

[Systemd merge] - Chapter 16

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@17478 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 21.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY nfs-utils-download-http "&sourceforge-repo;/nfs/nfs-utils-&nfs-utils-version;.tar.bz2">
8 <!ENTITY nfs-utils-download-ftp " ">
9 <!ENTITY nfs-utils-md5sum "9b87d890669eaaec8e97a2b0a35b2665">
10 <!ENTITY nfs-utils-size "776 KB">
11 <!ENTITY nfs-utils-buildsize "14 MB">
12 <!ENTITY nfs-utils-time "0.2 SBU">
13]>
14
15<sect1 id="nfs-utils" xreflabel="nfs-utils-&nfs-utils-version;">
16 <?dbhtml filename="nfs-utils.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>NFS-Utils-&nfs-utils-version;</title>
24
25 <indexterm zone="nfs-utils">
26 <primary sortas="a-Nfs-utils">NFS Utilities</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to NFS Utilities</title>
31
32 <para>The <application>NFS Utilities</application> package contains the
33 userspace server and client tools necessary to use the kernel's NFS
34 abilities. NFS is a protocol that allows sharing file systems over the
35 network.</para>
36
37 &lfs79_checked;&gcc6_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing='compact'>
41 <listitem>
42 <para>Download (HTTP): <ulink url="&nfs-utils-download-http;"/></para>
43 </listitem>
44 <listitem>
45 <para>Download (FTP): <ulink url="&nfs-utils-download-ftp;"/></para>
46 </listitem>
47 <listitem>
48 <para>Download MD5 sum: &nfs-utils-md5sum;</para>
49 </listitem>
50 <listitem>
51 <para>Download size: &nfs-utils-size;</para>
52 </listitem>
53 <listitem>
54 <para>Estimated disk space required: &nfs-utils-buildsize;</para>
55 </listitem>
56 <listitem>
57 <para>Estimated build time: &nfs-utils-time;</para>
58 </listitem>
59 </itemizedlist>
60
61 <bridgehead renderas="sect3">NFS Utilities Dependencies</bridgehead>
62
63 <bridgehead renderas="sect4">Required</bridgehead>
64 <para role="required">
65 <xref linkend="libtirpc"/>
66 </para>
67
68 <bridgehead renderas="sect4">Optional</bridgehead>
69 <para role="optional">
70 <xref linkend="libevent"/>,
71 <xref linkend="sqlite"/> and
72 <phrase revision="sysv"><ulink url="http://www.citi.umich.edu/projects/nfsv4/linux/">libnfsidmap</ulink></phrase>
73 <phrase revision="systemd"><xref linkend="libnfsidmap"/></phrase>
74 (for NFSv4 support),
75 <xref linkend="mitkrb"/> or
76 <ulink url="http://www.citi.umich.edu/projects/nfsv4/linux/">libgssapi</ulink>, and
77 <ulink url="http://www.citi.umich.edu/projects/nfsv4/linux/">librpcsecgss</ulink> (for GSS and RPC security support) and
78 <xref linkend="libcap-pam"/>
79 </para>
80
81 <bridgehead renderas="sect4">Required (runtime)</bridgehead>
82 <para role="required">
83 <xref linkend="rpcbind"/>
84 </para>
85
86 <para condition="html" role="usernotes">User Notes:
87 <ulink url="&blfs-wiki;/nfs-utils"/></para>
88
89 </sect2>
90
91 <sect2 role="kernel" id='nfs-utils-kernel'>
92 <title>Kernel Configuration</title>
93
94 <para>Enable the following options in the kernel configuration
95 (choose client and/or server support as appropriate) and recompile the
96 kernel if necessary:</para>
97
98<screen><literal>File systems ---&gt;
99 [*] Network File Systems ---&gt; [CONFIG_NETWORK_FILESYSTEMS]
100 &lt;*/M&gt; NFS client support [CONFIG_NFS_FS]
101 &lt;*/M&gt; NFS server support [CONFIG_NFSD]</literal></screen>
102
103 <para>Select the appropriate sub-options that appear when the above options
104 are selected.</para>
105
106 <note>
107 <para>
108 In BLFS we assume that nfs v3 will be used. If the
109 <emphasis>server</emphasis> offers nfs v4 (for linux, CONFIG_NFSD_V4)
110 then auto-negotiation for v3 will fail and you will need to add
111 <literal>nfsver=3</literal> to the mount options. This also applies
112 if that option is enabled in the <emphasis>client's</emphasis> kernel,
113 for example in a distro trying to mount from a BLFS v3 server.
114 </para>
115 </note>
116
117 <indexterm zone="nfs-utils nfs-utils-kernel">
118 <primary sortas="d-nfs-utils">NFS Utilities</primary>
119 </indexterm>
120
121 </sect2>
122
123 <sect2 role="installation" id='nfs-utils-install'
124 xreflabel='NFS Utilities Installation'>
125 <title>Installation of NFS Utilities</title>
126
127 <para>Before you compile the program, ensure that the <systemitem
128 class="username">nobody</systemitem> user and <systemitem
129 class="groupname">nogroup</systemitem> group have been created as done in
130 the current LFS book. You can add them by running the following commands
131 as the <systemitem class="username">root</systemitem> user:</para>
132
133<screen role="root"><userinput>groupadd -g 99 nogroup &amp;&amp;
134useradd -c "Unprivileged Nobody" -d /dev/null -g nogroup \
135 -s /bin/false -u 99 nobody</userinput></screen>
136
137 <note>
138 <para>The classic uid and gid values are 65534 which is also -2 when
139 interpreted as a signed 16-bit number. These values impact other files
140 on some filesystems that do not have support for sparse files. The
141 <systemitem class="username">nobody</systemitem> and <systemitem
142 class="groupname">nogroup</systemitem> values are relatively arbitrary.
143 The impact on a server is nil if the <filename>exports</filename> file
144 is configured correctly. If it is misconfigured, an
145 <command>ls -l</command> or <command>ps</command> listing will show a
146 uid or gid number of 65534 instead of a name. The client uses <systemitem
147 class="username">nobody</systemitem> only as the user running
148 <command>rpc.statd</command>.</para>
149 </note>
150
151 <para>Install <application>NFS Utilities</application> by running
152 the following commands:</para>
153
154<screen><userinput>./configure --prefix=/usr \
155 --sysconfdir=/etc \
156 --without-tcp-wrappers \
157 --disable-nfsv4 \
158 --disable-gss &amp;&amp;
159make</userinput></screen>
160
161 <para>If your <filename class="directory">/usr</filename> directory
162 is NFS mounted, you should install the executables in
163 <filename class="directory">/sbin</filename> by passing
164 an additional parameter <option>--sbindir=/sbin</option> to the
165 above <command>./configure</command> command.</para>
166
167 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
168
169<!-- dev note: make statduser=$(whoami) DESTDIR=<DESTDIR> install -->
170
171<screen role='root'><userinput>make install &amp;&amp;
172chmod u+w,go+r /sbin/mount.nfs</userinput></screen>
173
174 <para>The tests for this package require that the package be installed and
175 configured as specified below. In addition, the the daemon from <xref
176 linkend="rpcbind"/> needs to be running and the tests need to be run as the
177 <systemitem class="username">root</systemitem> user.</para>
178
179 <para>To test the results, issue, as root: <command>make check</command>.</para>
180
181 </sect2>
182
183 <sect2 role="commands">
184 <title>Command Explanations</title>
185
186 <para><parameter>--without-tcp-wrappers</parameter>: This option is
187 needed because TCP Wrappers is not in BLFS.</para>
188
189 <para><parameter>--disable-nfsv4</parameter>: This allows the package to be
190 built when libnfsidmap has not been installed.</para>
191
192 <para><parameter>--disable-gss</parameter>: Disables support for
193 RPCSEC GSS (RPC Security).</para>
194
195 </sect2>
196
197 <sect2 role="configuration">
198 <title>Configuring NFS Utilities</title>
199
200 <sect3 id='nfs-utils-server-config'>
201 <title>Server Configuration</title>
202
203 <para><filename>/etc/exports</filename> contains the exported directories
204 on NFS servers. Refer to the <filename>exports.5</filename> manual page
205 for the syntax of this file. Also refer to the "NFS HowTo" available at
206 <ulink url="http://nfs.sourceforge.net/nfs-howto/"/> for information on
207 how to configure the servers and clients in a secure manner. For example,
208 for sharing the <filename class="directory">/home</filename> directory
209 over the local network, the following line may be added:</para>
210
211<screen role="root"><userinput>/home <replaceable>192.168.0.0/24</replaceable>(rw,subtree_check,anonuid=99,anongid=99)</userinput></screen>
212
213 <note><para>Be sure to replace the directory, network address. and prefix above
214 to match your network. The only space in the line above should be between
215 the directory and the network address.</para></note>
216
217 <indexterm zone="nfs-utils nfs-utils-server-config">
218 <primary sortas="e-etc-exportfs">/etc/exportfs</primary>
219 </indexterm>
220
221 <sect4 id="nfs-utils-server-init">
222 <title><phrase revision="sysv">Boot Script</phrase>
223 <phrase revision="systemd">Systemd Units</phrase></title>
224
225 <para>Install the
226 <phrase revision="sysv"><filename>/etc/rc.d/init.d/nfs-server</filename>
227 init script</phrase>
228 <phrase revision="systemd">NFSv4 server units</phrase>
229 included in the <xref linkend="bootscripts" revision="sysv"/>
230 <xref linkend="systemd-units" revision="systemd"/> package
231 to start the server at boot.</para>
232
233<screen role="root" revision="systemd"><userinput>make install-nfsv4-server</userinput></screen>
234
235 <para revision="systemd">
236 If you have disabled NFSv4 support, run the following command as the
237 <systemitem class="username">root</systemitem> user to omit the NFSv4
238 specific systemd units:
239 </para>
240
241<!-- both -->
242<screen role="root"><userinput>make install-nfs-server</userinput></screen>
243
244 <indexterm zone="nfs-utils nfs-utils-server-init" revision="sysv">
245 <primary sortas="f-nfs-server">nfs-server</primary>
246 </indexterm>
247
248 <para revision="sysv">Now create the
249 <filename>/etc/sysconfig/nfs-server</filename> configuration file:
250 </para>
251
252<screen role="root" revision="sysv"><userinput>cat &gt; /etc/sysconfig/nfs-server &lt;&lt; "EOF"
253<literal>PORT="2049"
254PROCESSES="8"
255QUOTAS="no"
256KILLDELAY="10"</literal>
257EOF</userinput></screen>
258
259 <note revision="sysv">
260 <para>The above parameters may be optionally placed in
261 <filename>/etc/sysconfig/rc.site</filename>.
262 </para>
263 </note>
264
265 <indexterm zone="nfs-utils nfs-utils-server-init" revision="sysv">
266 <primary
267 sortas="e-etc-sysconfig-nfs-server">/etc/sysconfig/nfs-server</primary>
268 </indexterm>
269
270 <para revision="systemd">
271 You can edit the <filename>/etc/default/nfs-utils</filename>
272 file to change the startup options for NFS daemons. Defaults
273 should be fine for most use cases.
274 </para>
275
276 <indexterm zone="nfs-utils nfs-utils-server-init" revision="systemd">
277 <primary sortas="e-etc-default-nfs-utils">/etc/default/nfs-utils</primary>
278 </indexterm>
279
280
281
282 </sect4>
283
284 </sect3>
285
286 <sect3 id='nfs-utils-client-config'>
287 <title>Client Configuration</title>
288
289 <para><filename>/etc/fstab</filename> contains the directories that
290 are to be mounted on the client. Alternately the partitions can be
291 mounted by using the <command>mount</command> command with the proper
292 options. To mount the <filename class="directory">/home</filename>
293 and <filename class="directory">/usr</filename> partitions, add the
294 following to the <filename>/etc/fstab</filename>:</para>
295
296<screen role="root"><userinput><replaceable>&lt;server-name&gt;</replaceable>:/home /home nfs rw,_netdev 0 0
297<replaceable>&lt;server-name&gt;</replaceable>:/usr /usr nfs ro,_netdev 0 0</userinput></screen>
298
299 <para>The options which can be used are specified in <command>man 5 nfs</command>.
300 If both the client and server are running recent versions of linux, most of the
301 options will be negotiated. You can specify either <literal>rw</literal> or
302 <literal>ro</literal>, <literal>_netdev</literal> if the filesystem is to be
303 automatically mounted at boot, or <literal>noauto</literal> (and perhaps
304 <literal>user</literal>) for other filesystems.</para>
305
306 <para>If the fileserver is not running a recent version of linux, you may need to
307 specifiy other options.</para>
308
309 <para>If you are using systemd, you may need to enable autofs v4 in your kernel,
310 and add the option <literal>comment=systemd.automount</literal>. Some machines
311 need this, because systemd tries to mount the external fs&apos;s before the network
312 is up, others do not need it. An alternative is for <systemitem
313 class="username">root</systemitem> to run <command>mount -a</command>.</para>
314
315 <indexterm zone="nfs-utils nfs-utils-client-config">
316 <primary sortas="e-etc-fstab">/etc/fstab</primary>
317 </indexterm>
318
319 <sect4 id="nfs-utils-client-init">
320 <title><phrase revision="sysv">Boot Script</phrase>
321 <phrase revision="systemd">Systemd Units</phrase></title>
322
323 <note>
324 <para>
325 The following <phrase revision="sysv">boot script is</phrase>
326 <phrase revision="systemd">systemd units are</phrase> not required
327 if the nfs-server <phrase revision="sysv">script is</phrase>
328 <phrase revision="systemd">units are</phrase> installed.
329 </para>
330 </note>
331
332 <para>Install the
333 <phrase revision="sysv">
334 <filename>/etc/rc.d/init.d/nfs-client</filename> init script</phrase>
335 <phrase revision="systemd">units</phrase> included in the
336 <xref linkend="bootscripts" revision="sysv"/>
337 <xref linkend="systemd-units" revision="systemd"/> package to start
338 the client services at boot.</para>
339
340<screen role="root"><userinput>make install-nfs-client</userinput></screen>
341
342 <indexterm zone="nfs-utils nfs-utils-client-config">
343 <primary sortas="f-nfs-client">nfs-client</primary>
344 </indexterm>
345
346 <para revision="sysv">To automatically mount <systemitem
347 class="filesystem">nfs</systemitem> filesystems, clients will also need
348 to install the <filename>netfs</filename> bootscript as described in
349 <xref linkend="postlfs-config-netfs"/>.</para>
350
351 <indexterm zone="nfs-utils nfs-utils-client-config" revision="sysv">
352 <primary sortas="f-netfs">netfs</primary>
353 </indexterm>
354
355 </sect4>
356
357 </sect3>
358
359 </sect2>
360
361 <sect2 role="content">
362 <title>Contents</title>
363 <segmentedlist>
364 <segtitle>Installed Programs</segtitle>
365 <segtitle>Installed Libraries</segtitle>
366 <segtitle>Installed Directories</segtitle>
367
368 <seglistitem>
369 <seg>exportfs, mountstats, mount.nfs, mount.nfs4 (link to mount.nfs),
370 nfsiostat, nfsstat, osd_login, rpc.mountd, rpc.nfsd, rpc.statd, rpcdebug,
371 showmount, sm-notify, start-statd, umount.nfs (link to mount.nfs),
372 and umount.nfs4 (link to mount.nfs)</seg>
373 <seg>None</seg>
374 <seg>/var/lib/nfs</seg>
375 </seglistitem>
376 </segmentedlist>
377
378 <variablelist>
379 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
380 <?dbfo list-presentation="list"?>
381 <?dbhtml list-presentation="table"?>
382
383 <varlistentry id="exportfs">
384 <term><command>exportfs</command></term>
385 <listitem>
386 <para>maintains a list of NFS exported file systems.</para>
387 <indexterm zone="nfs-utils exportfs">
388 <primary sortas="b-exportfs">exportfs</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="mountstats">
394 <term><command>mountstats</command></term>
395 <listitem>
396 <para>displays NFS client per-mount statistics.</para>
397 <indexterm zone="nfs-utils mountstats">
398 <primary sortas="b-mountstats">mountstats</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402
403 <varlistentry id="mount.nfs">
404 <term><command>mount.nfs</command></term>
405 <listitem>
406 <para>Used to mount a network share using NFS</para>
407 <indexterm zone="nfs-utils mount.nfs">
408 <primary sortas="b-mount.nfs">mount.nfs</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="mount.nfs4">
414 <term><command>mount.nfs4</command></term>
415 <listitem>
416 <para>Used to mount a network share using NFSv4</para>
417 <indexterm zone="nfs-utils mount.nfs4">
418 <primary sortas="b-mount.nfs4">mount.nfs4</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="nfsiostat-nfs-utils">
424 <term><command>nfsiostat</command></term>
425 <listitem>
426 <para>Report input/output statistics for network filesystems.</para>
427 <indexterm zone="nfs-utils nfsiostat-nfs-utils">
428 <primary sortas="b-nfsiostat-nfs-utils">nfsiostat</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="nfsstat">
434 <term><command>nfsstat</command></term>
435 <listitem>
436 <para>displays statistics kept about NFS client and server activity.</para>
437 <indexterm zone="nfs-utils nfsstat">
438 <primary sortas="b-nfsstat">nfsstat</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="osd_login">
444 <term><command>osd_login</command></term>
445 <listitem>
446 <para>is a script that is a part of the autologin feature
447 mandated by the pnfs-objects standard.</para>
448 <indexterm zone="nfs-utils osd_login">
449 <primary sortas="b-osd_login">osd_login</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454
455 <varlistentry id="rpc.mountd">
456 <term><command>rpc.mountd</command></term>
457 <listitem>
458 <para>implements the NFS mount protocol on an NFS server.</para>
459 <indexterm zone="nfs-utils rpc.mountd">
460 <primary sortas="b-rpc.mountd">rpc.mountd</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="rpc.nfsd">
466 <term><command>rpc.nfsd</command></term>
467 <listitem>
468 <para>implements the user level part of the NFS
469 service on the server.</para>
470 <indexterm zone="nfs-utils rpc.nfsd">
471 <primary sortas="b-rpc.nfsd">rpc.nfsd</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 <varlistentry id="rpc.statd">
477 <term><command>rpc.statd</command></term>
478 <listitem>
479 <para>is used by the NFS file locking service. Run on both sides,
480 client as well as server, when you want file locking enabled.</para>
481 <indexterm zone="nfs-utils rpc.statd">
482 <primary sortas="b-rpc.statd">rpc.statd</primary>
483 </indexterm>
484 </listitem>
485 </varlistentry>
486
487 <varlistentry id="rpcdebug">
488 <term><command>rpcdebug</command></term>
489 <listitem>
490 <para>sets or clears the kernel's NFS client and server debug
491 flags.</para>
492 <indexterm zone="nfs-utils rpcdebug">
493 <primary sortas="b-rpcdebug">rpcdebug</primary>
494 </indexterm>
495 </listitem>
496 </varlistentry>
497
498 <varlistentry id="showmount">
499 <term><command>showmount</command></term>
500 <listitem>
501 <para>displays mount information for an NFS server.</para>
502 <indexterm zone="nfs-utils showmount">
503 <primary sortas="b-showmount">showmount</primary>
504 </indexterm>
505 </listitem>
506 </varlistentry>
507
508 <varlistentry id="sm-notify">
509 <term><command>sm-notify</command></term>
510 <listitem>
511 <para>is used to send Network Status Monitor reboot messages.</para>
512 <indexterm zone="nfs-utils sm-notify">
513 <primary sortas="b-sm-notify">sm-notify</primary>
514 </indexterm>
515 </listitem>
516 </varlistentry>
517
518 <varlistentry id="start-statd">
519 <term><command>start-statd</command></term>
520 <listitem>
521 <para>is a script called by nfsmount when mounting a filesystem with
522 locking enabled, if statd does not appear to be running. It can be
523 customised with whatever flags are appropriate for the site.</para>
524 <indexterm zone="nfs-utils start-statd">
525 <primary sortas="b-start-statd">start-statd</primary>
526 </indexterm>
527 </listitem>
528 </varlistentry>
529
530 <varlistentry id="umount.nfs">
531 <term><command>umount.nfs</command></term>
532 <listitem>
533 <para>Used to unmount a network share using NFS</para>
534 <indexterm zone="nfs-utils umount.nfs">
535 <primary sortas="b-umount.nfs">umount.nfs</primary>
536 </indexterm>
537 </listitem>
538 </varlistentry>
539
540 <varlistentry id="umount.nfs4">
541 <term><command>umount.nfs4</command></term>
542 <listitem>
543 <para>Used to unmount a network share using NFSv4</para>
544 <indexterm zone="nfs-utils umount.nfs4">
545 <primary sortas="b-umount.nfs4">umount.nfs4</primary>
546 </indexterm>
547 </listitem>
548 </varlistentry>
549
550 </variablelist>
551
552 </sect2>
553
554</sect1>
Note: See TracBrowser for help on using the repository browser.