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