

   NFS-Root-Client Mini-Howto
   [1]Ofer Maor, [2]oferm@hcs.co.il
   V4.1, 02 February 1999

    Mini-Howto, Ŀ˵, ŷʹ NFS Root ؿ
   ʱ, ŷ, ͻ˵ĸĿ¼.  Howto (HTML 
   or Text) °, λ URL:
   [3]http://www.hcs.co.il/oferm/NFS-Root-Client/
 1. Copyright

   (c) 1996 Ofer Maor (oferm@hcs.co.il)

   Unless otherwise stated, Linux HOWTO documents are copyrighted by
   their respective authors. Linux HOWTO documents may be reproduced and
   distributed in whole or in part, in any medium physical or electronic,
   as long as this copyright notice is retained on all copies. Commercial
   redistribution is allowed and encouraged; however, the author would
   like to be notified of any such distributions.

   All translations, derivative works, or aggregate works incorporating
   any Linux HOWTO documents must be covered under this copyright notice.
   That is, you may not produce a derivative work from a HOWTO and impose
   additional restrictions on its distribution. Exceptions to these rules
   may be granted under certain conditions; please contact the Linux
   HOWTO coordinator at the address given below.

   In short, we wish to promote dissemination of this information through
   as many channels as possible. However, we do wish to retain copyright
   on the HOWTO documents, and would like to be notified of any plans to
   redistribute the HOWTOs.

   If you have questions, please contact Ofer Maor ([4]oferm@hcs.co.il),
   the author of this mini-HOWTO, or Greg Hankins, the Linux HOWTO
   coordinator, at [5]gregh@sunsite.unc.edu via email, or at +1 404 853
   9989.

   If you have anything to add to this Mini-Howto, Please mail the author
   (Ofer Maor, [6]oferm@hcs.co.il
   ), with the information. Any new relevant information would be
   appreciated.

   1.1. л

    NFS-Root Howto , Andreas Kostyrca ([7]andreas@medman.ag.or.at), 
   л. һ, Ҫ NFS Root صĿͻ,
   ڴ˴,  Mini-Howto . ҵ Mini-Howto ǳȥȡ
   Ĺ, , ҵľ, ȥ.

   һл Mark Kushinsky ([8]mark026@ibm.net),  Howto 
   Ӣĺƴ, ʹ׶.

   2. ǰ

   Щ,  NFS Root , ͻ˵Ŀ¼,  Mini-Howto,
   Ϊ˰Щ˶д. ע, ⹤෽Դ, 
   ĿĶ. ͻ˱˴˶, ÿͻ˸û
   Ⱥ͹Ա, , ͻ, ҪĿ¼, Ǳ. 
   һ, ͻ, ƻ춶û, ȫͬһ˹ 
   (Կ), , Ϊ׹, Ҫʹ൵ܹ
   .  Howto 춵ڶ.

   2.1. 

   ͻ˵ĸĿ¼, ȥСߴʱ, Ҫ
   , ĸԷ, ߿ɴŷ.  Howto , 
   Լľ, Կͻ˵̬ (configuration), . 
   ǿʼǰ,  ע:

     *  Mini-Howto ûʵ˵, ι NFS Root.
       ҪⷽĽһѶ, ο NFS-Root Mini-Howto.

     * ҿͻ˵̬,  mounts  symbolic links. Щ 
       symbolic links, 󲿷ݿȡΪ hardlinks. ѡ
       ϲ.  mount  symbolic link ֮,  hardlink ϵ, 
       ŵ, ᷢ. һ,  hardlinks 
       ȫƳ, ޷ɾ. , ĳ, õ
        hardlinks Իָɵİ汾, Ϊ˱, ǳ
       С, Ҫάϵ, õÿ.

     * ŷѶķʽ, . һ (ձ), ǽ
       ŷĸĿ¼, ڱض˵Ŀ¼, Ȼֻ·, ֱ
       صĿ¼. Ҷ, Ҳϲŷ root partitions 
       ҵͻ. ,  Howto һַʽ, ŷ
       صĿ¼, ҵϵͳʵλ.

     *  Howto ,  Slackware 3.1 based distribution ֮, 
       ͻĿ¼ľ. ʹ˵, ܻеط
       ͬ ( rc.* Щ), ȻӦԾɲ.

   3. ͻ˵ĸĿ¼

   3.1. Ŀ¼

   , ҪĿ¼ļܹ. ҰеĿͻ,  
    /clients/hostname ֮, . , Ŀ¼
   ҲɸΪ·. һ׶, Ŀ¼, 
   صĿ¼. ӦýĿ¼:
    bin, dev, etc, home, lib, mnt, proc, sbin, server, tmp, usr, var

   Լ, ϵͳϵĿ¼.

   local, proc, dev ЩĿ¼, ÿ̨Ҫһ, Ŀ¼, 
   ǲֵ, , ͻ˹.

   3.2. , Сĵϵͳ

   3.2.1.  dev Ŀ¼.

   Ŀ¼ dev Թ, ûΪÿͻ, Խһ. 
   úʵ MAKEDEV scripts, Ͷ˵ devĿ¼, 
   , ֱӴŷ, Ƚϼ: 
    cp -a /dev /clients/hostname

   Ӧס, /dev/mouse, /dev/cdrom, /dev/modem  symbolic links, 
   ʵʵ豸, , Ӧȷ, ȷ, Ͽͻ
   Ӳ.

   3.2.2. ִе.

   Ǵŷ, ÿ, ޶, ǻҪ
   Щ, ͻ. , Ҫ "ʼ", ڳʼ֮ǰ, ϵͳ
   κζ (Ȼ߷๤, ŷֵ ;-). 
   Եһ, Ӧð /sbin/init Ƶͻ˵Ŀ¼ sbin , һ
   , ִ rc.S, , Ӧ /bin/sh ͻ˵Ŀ¼ bin . 
   , Ϊ˹ж, Ҫ /sbin/mount ͻ˵Ŀ
   ¼ sbin .  rc.S ĵһ mount -av, ޶
   . Ȼ, ҽٶ࿽Щ: update, ls, rm, cp, umount, һ, 
   ͻ˹ʱ, л߿. ѡڹ
   ǰ swap, 㻹Ӧִе swapon.

   ΪЩִе, ԤΪ̬, Ҳ踴Ƶȷݵ /lib:
    cp -a /lib/ld* /lib/libc.* /lib/libcursses.* /client/hostname/lib

   Ӧ, ø,  hardlink ִе. 
   ,  Howto  2.1 .

   ע, , Ǽ迪ʱ, ·̬ĲѴ
   .  rarp  bootp Ļ, Щصִе, Ҳ
   Ҫ.

   һ, Ҫĵ, Ҫʹ趨·Լ rc.S, ֱ
   ʼϵϵͳ. ȷ,  /etc/init 
    rc.S , ȷûκε "ϲ", ָ, ڵһιǰ, 
   ȡ״. Ȼ, ķĵ, 
   Ҳ, Ǵ init  rc.S , ƳصĲ.

   3.2.3. Ŀ¼ var

   , Ŀ¼ var Ӧ, ÿͻ˸һ. , Ŀ
   ¼ var ϴ඼ܹ. ŷĿ¼, һĿ¼, 
    var. ǽ, ŷ var Ŀ¼. Ҫض˵ 
   var Ŀ¼, ֱӼ:
    cp -a /var /clients/hostname/

   , ѡ, Ҫ, Ҫ. ҪĿ¼򵵰, 
   ֻҪȴӿͻ˵ var Ŀ¼, Ƴ, ٰ symbolic link Ŀ
   ¼ /server/var. ע, Ӧ symbolic link  /server/var 
   ../server/var,  /clients/hostname/server/var, Ϊ, Ŀ¼
   (ָ /clients/hostname/) , ʧЧ.

   һ, ҽ /var/run, /var/lock, /var/spool, /var/log.

   3.2.4. ŵĿ¼

     * etc ½˵.
     * mnt  proc 춱ض. 
     * usr  home Ϊص (mount points).
     * tmp . Ϊÿͻ, ͬ tmp Ŀ¼, 
        ҲԽЩ /clients/tmp Ŀ¼, Ȼҵÿͻ˵ /tmp 
        ֮. ҽΪÿͻ, ṩһ tmp Ŀ¼.

   3.3.  etc Ŀ¼, 趨ͻ˵̬

   ע - ̸, Ŀ¼ etc, Ŀ¼๲춿ͻ֮
   . Щ޴ŵĿͻ, вͬϵͳԱ, 
   Ϊÿͻ, һ etc Ŀ¼.

   3.3.1. ͻ˹õ etc Ŀ¼

   ȻǸͻ֮ etc Ŀ¼, , 
   󲿷ֵĵ. һ, Ϊ, ŷ /etc Ŀ¼,  etc 
   , , ҽ, Ŀ¼ /clients/etc, ɿͻ
   Ѷ. һʼ, ֻҪŷ etc Ŀ¼, Ƶ 
   /clients/etc Ŀ¼¼.

   ӦðзӲ̬,  motd, issue , ȫ
   Ŀ¼, ӦͻӲĵ. (, initab 
    fstab)

   شĸı,  rc.d Ŀ¼. , Ӧõ rc.inet1, 
   㱾ض˵趨. ͸ LILO/Loadlin, ·̬
   в, , ҼƳ rc.inet1 ÿһ. 
   Ψһµ,  localhost  ifconfig  route.  rarp 
    bootp, ͱ.

   , Ӧñ༭ rc.S . , Ƴлᵼ fsck 
   Ĳ, Ϊŷʱ,  fsck. , Ӧðѹ
    fstab һҳ. Ӧÿ:
    mount -avt nonfs

   -t nonfs , ΪĿͻ,  rc.S,  rc.inet1 
   Ethernet. ᵼ, κε NFS partitions, 
  Ӧɾ. , ĳ mount -av. Ҫ 
   rarp/bootp 趨·̬, Ǿڹǰ,  rc.S 
   (ߴ rc.S ʵ script), ȷŵ bin  sbin 
  Ŀ¼, ṩĵ.

   ִ mount -av, иеĵϵͳ. һ 
   fstab, , Ƶÿͻ.  fstab Ӧ
   :
    server:/clients/hostname    /               nfs     default  1 1
    server:/bin                 /bin            nfs     default  1 1
    server:/usr                 /usr            nfs     default  1 1
    server:/sbin                /sbin           nfs     default  1 1
    server:/home                /home           nfs     default  1 1
    server:/lib                 /lib            nfs     default  1 1
    server:/clients/etc         /server/etc     nfs     default  1 1
    server:/clients/var         /server/var     nfs     default  1 1
    none                        /proc           proc    default  1 1

   ע, ؼ default Чвͬ汾Ĺ. 
   ԰Ϊ rw  ro, Ƴȫ default 1 1.

   , ȷŷ /etc/exports, :
    /clients/hostname   hostname.domainname(rw,no_root_squash)
    /clients/etc        hostname.domainname(ro,no_root_squash)
    /clients/var        hostname.domainname(ro,no_root_squash)
    /usr                hostname.domainname(ro,no_root_squash)
    /sbin               hostname.domainname(ro,no_root_squash)
    /bin                hostname.domainname(ro,no_root_squash)
    /lib                hostname.domainname(ro,no_root_squash)
    /home               hostname.domainname(rw,no_root_squash)

   ÿ̨, һӦøԶ, ֮, п滻
   Ϊ (hostmask), ʹе ( pc*.domain - 
   ȻҪס, * ֻܴûоִ). ҽ, ô󲿷ֵ
   Ŀ¼Ψ, . no_root_squash ȷʹ root, 
   ڿͻ,  nfsd ʵҲ root Ȩ. ֤ man exports(5). 
   Ҫʹ, Ҳܴӿͻִ passwd, ȷ /etc ɶ
   д (rw) Ψ (ro). , Ⲣ.

   עһ, йص rc.S .  Slackware ִ rc.S, Ԥ
   ÿζµ /etc/issue  /etc/motd. Щŷ
   ΪΨ (ro), һҪͣ, ҽ, κ
   Ӧͣ.

   , ŷ, ҪͿͻһ, ӵͬʹ
    (userbase), Ӧַʽѡ, 1) ʹ NIS (Yellow 
   Pages - ο yp-howto), ,  NIS ŷ֮, ÿͻ
   ˶ /etc/passwd Լ /etc/group. 2) , 
    symbolic link ͹. , Ҫ hardlink /clients/etc/passwd 
    /etc/passwd, ϲ symbolic link Ļ, ǾͰ /etc/passwd 
   ᵽ /clients/etc/passwd (˵, Ϊͻ˲
    etc Ŀ¼).  /etc/group, Ҳһ.

   3.3.2. һͻרõ etc Ŀ¼

   һ, ڿͻ˵ etc , 󲿷Ӧ symbolic link  
   Ŀ¼ /server/etc. Ȼ, ЩӦÿ̨ӲĲ, ˴˲ͬ, 
   Щֻʱõ. Ŀ¼ etc , Ҫĵ, 
   :
    resolv.conf
    hosts
    inittab
    rc.d/rc.S
    fstab

   Ȼ, пͻ˶ͬ, ֱӰ 
   hardlink, ٸһ. , rc.S  fstab , ÿ
   ͻ˸һ. 㻹Ҫÿͻ, һ etc/HOSTNAME. 
   Ҹǽ, е rc.d , ÿͻ˶Ҫһ, Ϊ
   ̬Ӳܱ˴.

   Ϊÿͻ, ʵ swap ,  fstab :
    /dev/swap_partition                 swap    swap    default  1 1

   ͻŵ /etc ,  hardlink  /clients/etc/*, 
    symbolic link  /server/etc ( /clients/etc/ Ĺص).

   ȷȷ resolve, ͸ named  etc/hosts. 
    etc/hosts м¼ŷ IP,  resolve, ⷽʽ. 
   ֻ named  resolve, named ˸, ʹͻ޷
   .

   3.4. 

   , ľ, , ʮָ, ÿ¶ :-).

   4. Ŀͻ

   Ѹҵָʾ, , Ӧúܼ - cd  /clients, 
   :
    cp -a hostname1 hostname2

   Ȼ, ȷ⼸:

   rc.d/* Ӳ̬
   etc/HOSTNAME ȷ, fstab  swap ȷ, dev/mouse, dev/modem, 
   dev/cdrom  symbolic links ȷ.

   ף....

References

   1. http://www.hcs.co.il/oferm/
   2. mailto:oferm@hcs.co.il
   3. http://www.hcs.co.il/oferm/NFS-Root-Client/
   4. mailto:oferm@hcs.co.il
   5. mailto:gregh@sunsite.unc.edu
   6. mailto:oferm@hcs.co.il
   7. mailto:andreas@medman.ag.or.at
   8. mailto:mark026@ibm.net
