Ignore:
Timestamp:
03/22/2004 07:42:22 AM (18 years ago)
Author:
Tushar Teredesai <tushar@…>
Branches:
10.0, 10.1, 11.0, 6.0, 6.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, ken/refactor-virt, krejzi/svn, lazarus, nosym, perl-modules, qt5new, systemd-11177, systemd-13485, trunk, upgradedb, v5_1, v5_1-pre1, xry111/git-date, xry111/git-date-for-trunk, xry111/git-date-test
Children:
15995a1
Parents:
cc265e51
Message:

First batch of lfs-bootscripts

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • postlfs/config/netfs.xml

    rcc265e51 r40d91bde  
    33<title>Configuring for Network Filesystems</title>
    44
    5 <para>While <acronym>LFS</acronym> is capable of mounting NFS volumes from
    6 the get go, the lfs-bootscripts are not quite ready for this configuration.
    7 Network filesystems should be unmounted before the network goes down.  The
    8 <filename>netfs</filename> script below will prepare your LFS for mounting
    9 network filesystems at boot time, and unmounting them when the network
    10 is stopped.</para>
     5<para>While <acronym>LFS</acronym> is capable of mounting network file
     6systems such as <acronym>NFS</acronym> these are not mounted by
     7<filename>mountfs</filename> init script since the tools needed to mount
     8these systems may not be available on the root partition and also since
     9network file systems need to be mounted after the networking is on and
     10need to be unmounted before the network goes down.</para>
    1111
    12 <para>  The following commands will create the <filename>netfs</filename>
    13 script:</para>
    14 
    15 <screen><command>cat &gt; /etc/rc.d/init.d/netfs &lt;&lt; "EOF"</command>
    16 #!/bin/sh
    17 # Begin $rc_base/init.d/netfs
    18                                                                                
    19 # Based on sysklogd script from LFS-3.1 and earlier.
    20 # Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
    21 # netfs script written by Nathan Coulson - conathan@conet.dyndns.org
    22 # and by DJ Lucas - dj@lucasit.com
    23                                                                                
    24 . /etc/sysconfig/rc
    25 . $rc_functions
    26                                                                                
    27 case "$1" in
    28                                                                                
    29         start)
    30                 # The following line mounts all entries in fstab that
    31                 # have the _netdev option.  This is required for network
    32                 # filesystems to be mounted at boot time.
    33                 echo "Mounting network volumes..."
    34                 mount -a -O _netdev
    35                 evaluate_retval
    36                 ;;
    37                                                                                
    38         stop)
    39                 echo -n "Unmounting network volumes..."
    40                                                                                
    41                 # The following line obtains a list from the output of
    42                 # mount for all netfs types and anything that was
    43                 # mounted with the _netdev option.
    44                 NETMOUNTS=`mount | grep '_netdev\|smbfs\|ncpfs|\coda\|nfs' \
    45                         | cut -d " " -f 3 | sed 's/$/ /g'`
    46                                                                                
    47                 # Check to see if anything was listed from above
    48                 # (see if anything is actually needs to be unmounted)
    49                 if [ x"$NETMOUNTS" != x ]
    50                 then
    51                         # There is something mounted
    52                         # terminate the echo -n above
    53                         echo " "
    54                                                                                
    55                         # Try and stop processes the nice way
    56                         # (probably won't work in most cases)
    57                         fuser -m -SIGTERM $NETMOUNTS &gt; /dev/null
    58                                                                                
    59                         # Check and see if it found anything.  If it
    60                         # did, then give 3 seconds for things to exit
    61                         # the nice way before killing them off. 
    62                         # This one will work all of the time!
    63                         if [ $? == 0 ]
    64                         then
    65                                 sleep 3
    66                                 fuser -km $NETMOUNTS &gt; /dev/null
    67                         fi
    68                                                                                
    69                         # We now need to unmount all network filesystems.
    70                         # We will do this with two umount commands to allow
    71                         # for broken behavior of smbmount, and also to make
    72                         # certain that netmounts without the _netdev option
    73                         # will still get unmounted.
    74                         umount -a -O _netdev
    75                         # save the retval
    76                         if [ $? != 0 ]
    77                         then
    78                                 NERRVAL=1
    79                         fi
    80 
    81                         # Now catch the rest of the network filesystems
    82                         # by fstype.  This list can be extended later as
    83                         # more network filesystems are supported by mount.
    84                         umount -a -t coda,ncpfs,nfs,smbfs
    85                         if [ $? == 0]
    86                         then
    87                                 [ -z $NERRVAL ]
    88                                 evaluate_retval
    89                         else
    90                                 # make certain that we return an error
    91                                 /bin/false             
    92                                 evaluate_retval
    93                         fi
    94                 else
    95                         # There is nothing mounted
    96                         echo "No network volumes mounted!"
    97                         # print a nice '[  OK  ]' message
    98                         evaluate_retval
    99                 fi
    100                 ;;
    101                                                                                
    102 *)
    103                 echo "Usage: $0 {start|stop}"
    104                 exit 1
    105                 ;;
    106 esac
    107                                                                                
    108 # End $rc_base/init.d/netfs
    109 EOF
    110 <command>chmod 0755 /etc/rc.d/init.d/netfs</command></screen>
    111 
    112 <para>While the excessive comments in the script might make people cringe, the
    113 important part to note is that network filesystems that should be mounted at
    114 boot time, must have the <emphasis role="strong">_netdev</emphasis>
    115 option passed to them in <filename>/etc/fstab</filename>.</para>
    116 
    117 <para>Now put the necessary symlinks in place.</para>
    118 
    119 <screen><command>ln -sf ../init.d/netfs /etc/rc.d/rc0.d/K47netfs &amp;&amp;
    120 ln -sf ../init.d/netfs /etc/rc.d/rc1.d/K47netfs &amp;&amp;
    121 ln -sf ../init.d/netfs /etc/rc.d/rc2.d/K47netfs &amp;&amp;
    122 ln -sf ../init.d/netfs /etc/rc.d/rc3.d/S28netfs &amp;&amp;
    123 ln -sf ../init.d/netfs /etc/rc.d/rc4.d/S28netfs &amp;&amp;
    124 ln -sf ../init.d/netfs /etc/rc.d/rc5.d/S28netfs &amp;&amp;
    125 ln -sf ../init.d/netfs /etc/rc.d/rc6.d/K47netfs</command></screen>
     12<para>Install the <filename>/etc/rc.d/init.d/netfs</filename>
     13network mount script included with the
     14<xref linkend="intro-important-bootscripts"/> package.</para>
     15                                                                                                               
     16<screen><userinput><command>make install-netfs</command></userinput></screen>
    12617
    12718</sect1>
Note: See TracChangeset for help on using the changeset viewer.