Twra eftase h stigmh na etoimasoyme ton server na ejyphrethsei diskless clients.
To prwto pragma poy prepei na kanoyme, einai na xtisoyme enan pyrhna me ta anagkaia pragmata gia yposthrijh "root over nfs". Kante ta akoloy8a bhmata :
mknod /dev/nfsroot b 0 255.
rdev <path-to-zImage>/zImage /dev/nfsroot
/etc/rc.d/rc.devfs save /etc/sysconfig
To epomeno bhma einai na ftiajoyme kai na gemisoyme to /tftpboot
Ayto to xeirizetai oloklhro ena megalo script, mia poy to na symperilabw mia megalh lista entolwn s' ayto to howto moy fanhke entelws axrhsto. An 8elete na efarmosete ayto edw to egxeiridio, apla diabaste to script kai plhktrologhste o,ti blepete! ;)
Ayto to script ry8mizei "brwmika" kapoia pragmata, px nukarei to /tmp, kanei proswrino kill sto syslog, kanei umount sto /proc. Synepws, bebaiw8eite oti (a) kanenas allos den xrhsimopoiei ton H/Y kata th diarkeia ayths ths diadikasias, kai oti (b) den trexoyne ta X-Windows. Arkei to na bebaiw8eite oti eisaste to mono atomo poy ekane login se periballon konsolas, den xreiazetai n' allajete ta runlevels.
APOKHRY3H : Ayto to script einai dokimasmeno, alla an wstoso kanei mpaxalo ton server sas, den 8a sas boh8hsw. Den mporw na parw opoiadhpote ey8unh. Prepei na epanalabw oti ayto to HowTo proorizetai mono gia empeiroys Linux SysAdmins. Epishs, ayto to script sxediasthke gia na xrhsimopoih8ei mono mia fora, kai ennow MIA fora. An to trejete duo fores, 8a nukarei ta : /etc/fstab, /etc/X11/XF86Config, /etc/X11/X kai /etc/conf.modules.
Twra, afou eipame ta parapanw, apla kante cut/paste to script, kante to ektelesimo, ekteleste to, kai proseyxh8eite ston Agio Pigkoyino na doylecei! ;)
#!/bin/sh SERVER_NAME=`hostname -s` ### echo ftiaxnoume to /etc/rc.d/rc.ws #auto edw apla kanei echo s' olo to script ;) echo "# gia to root on nfs SERVER=$SERVER_NAME #xreiazomaste to proc gia to mtab, route klp mount -t proc /proc /proc IP=\`ifconfig eth0|grep inet|cut --field 2 -d ':'|cut --field 1 -d ' '\` #an apotuxei to prwto mount, pi8anotata o server, h toulaxiston kati allo #den pane kala, ara kanoume monaxa ta upoloipa, an to prwto mount petuxei mount \$SERVER:/tftpboot/\$IP/sysconfig /etc/sysconfig -o nolock && { #other mounts mount \$SERVER:/home /home -o nolock mount \$SERVER:/ /\$SERVER -o ro,nolock #/var echo Ftiaxnoume to /var ... mke2fs -q -i 1024 /dev/ram1 1024 mount /dev/ram1 /var -o defaults,rw cp -a /tftpboot/var / #network stuff . /etc/sysconfig/network HOSTNAME=\`cat /etc/hosts|grep \$IP|cut --field 2\` route add default gw \$GATEWAY ifup lo } #restore devfs settings /etc/rc.d/rc.devfs restore /etc/sysconfig umount /proc" > /etc/rc.d/rc.ws ### echo xwrizoume to runlevel 3 gia ton client kai gia ton server mv /etc/rc.d/rc3.d /etc/rc.d/rc3.server cp -a /etc/rc.d/rc3.server /etc/rc.d/rc3.ws rm /etc/rc.d/rc3.ws/*network rm /etc/rc.d/rc3.ws/*nfs rm /etc/rc.d/rc3.ws/*nfsfs rm /etc/rc.d/rc3.ws/S99local ln -s /etc/sysconfig/rc.local /etc/rc.d/rc3.ws/S99local ln -s /etc/rc.d/rc3.server /etc/sysconfig/rc3.d ln -s /etc/sysconfig/rc3.d /etc/rc.d/rc3.d ### echo kanoume to tmp link gia to /var/tmp rm -fR /tmp ln -s var/tmp /tmp ### echo metakinoume diafora arxeia kai ftiaxnoume symlinks gi auta echo mtab /etc/rc.d/init.d/syslog stop umount /proc touch /proc/mounts mount /proc /etc/rc.d/init.d/syslog start rm /etc/mtab ln -s /proc/mounts /etc/mtab echo fstab mv /etc/fstab /etc/sysconfig ln -s sysconfig/fstab /etc/fstab echo arxeia ry8misewn twn X mkdir /etc/sysconfig/X11 mv /etc/X11/X /etc/sysconfig/X11 ln -s ../sysconfig/X11/X /etc/X11/X mv /etc/X11/XF86Config /etc/sysconfig/X11 ln -s ../sysconfig/X11/XF86Config /etc/X11/XF86Config echo conf.modules mv /etc/conf.modules /etc/sysconfig ln -s sysconfig/conf.modules /etc/conf.modules echo isapnp.conf mv /etc/isapnp.conf /etc/sysconfig ln -s sysconfig/isapnp.conf /etc/isapnp.conf ### echo ftiaxnoume ena protupo dir gia ta directories twn wss echo /tftpboot/template mkdir /home/tftpboot ln -s home/tftpboot /tftpboot mkdir /tftpboot/template mkdir /$SERVER_NAME echo root ln -s / /tftpboot/template/root echo sysconfig cp -a /etc/sysconfig /tftpboot/template/sysconfig rm -fR /tftpboot/template/sysconfig/network-scripts ln -s /$SERVER_NAME/etc/sysconfig/network-scripts \ /tftpboot/template/sysconfig/network-scripts echo NETWORKING=yes > /tftpboot/template/sysconfig/network echo `grep "GATEWAY=" /etc/sysconfig/network` >> /tftpboot/template/sysconfig/network echo "/dev/nfsroot / nfs defaults 1 1" > /tftpboot/template/sysconfig/fstab echo "none /proc proc defaults 0 0" >> /tftpboot/template/sysconfig/fstab echo "#!/bin/sh" > /tftpboot/template/sysconfig/rc.local chmod 755 /tftpboot/template/sysconfig/rc.local rm /tftpboot/template/sysconfig/rc3.d ln -s /etc/rc.d/rc3.ws /tftpboot/template/sysconfig/rc3.d rm /tftpboot/template/sysconfig/isapnp.conf echo var cp -a /var /tftpboot/var rm -fR /tftpboot/var/lib ln -s /$SERVER_NAME/var/lib /tftpboot/var/lib rm -fR /tftpboot/var/catman ln -s /$SERVER_NAME/var/catman /tftpboot/var/catman rm -fR /tftpboot/var/log/httpd rm -f /tftpboot/var/log/samba/* for i in `find /tftpboot/var/log -type f`; do cat /dev/null > $i; done rm `find /tftpboot/var/lock -type f` rm `find /tftpboot/var/run -type f` echo /sbin/fsck.nfs echo "#!/bin/sh exit 0" > /sbin/fsck.nfs chmod 755 /sbin/fsck.nfs echo ola teleiwmena
Twra prepei na kanoyme merikes ry8miseis me to xeri ston server :
#Gia root over nfs workstations. /etc/rc.d/rc.ws
Fysika, o server prepei na kanei export sta katallhla filesystems, kai na dwsei tis diey8unseis ip stoys clients.
Prepei na kanoyme export merika dir's gia toys ws's, epomenws gia to ergasthrio edw sto panepisthmio ekana tis akoloy8es pros8hkes sto /etc/exports :
/ *.st.hhs.nl(ro,no_root_squash) /home *.st.hhs.nl(rw,no_root_squash)
Fysika, xrhsimopoieiste to katallhlo domain ;) kai epanekkinhste to nfs, dinontas :
/etc/rc.d/init.d/nfs restart
Shmeiwsh gia xrhstes knfsd : To knfsd den epitrepei na exoyme pollapla exports epanw se mia partition me diaforetikes adeies. Epishs, to knfsd den epitrepei ta clients na yperboun ta oria twn partitions. Px, an ena client kanei mount sto / , kai to /usr einai se diaforetikh partition, tote den 8a dei to /usr. Etsi, an xrhsimopoieite to knfsd, epanw se diaforetikh partition 8a eprepe na brisketai toylaxiston to /home . To script proetoimasias toy server hdh bazei to /tftpboot sto /home , ara ayto den xreiazetai na mpei se jexwristh partition. Ean yparxoyn ki alles partitions, stis opoies oi clients prepei na exoyn prosbash, kante jexwristo export gi' aytes, kai pros8este entoles mount sto /etc/rc.d/rc.ws .
/etc/rc.d/init.d/inetd restart