#!/bin/sh # # Przygotowanie katalogu z korzeniem Fedory do serwowania maszynom diskless # Copyright (C) 2005 Krzysztof Kozlowski VERSION=20050510 # current branch (works well) # 20050510 - added changing user's $HOME to /tmp in files "csh.login" and "profile" # Some settings : # Directory with FC root / : FEDORAROOTDIR=/nfs/redhat/3.91/diskless # Subdir with /var template : VARDIR=template/var # NIS settings (leave NISDOMAIN empty if NIS is not used) : NISDOMAIN=iem.pw.edu.pl NISSERVERIP="194.29.146.3 volt volt.iem.pw.edu.pl" # ------------------------------------------ # Przygotowanie TEMPLATE/var # Copyright (C) 2005 Krzysztof Kozlowski # Skrypt w fazie beta-testów... prepare_var() { cd ${FEDORAROOTDIR}/${VARDIR} echo Preparing ${FEDORAROOTDIR}/${VARDIR} mv $FEDORAROOTDIR/home home mv $FEDORAROOTDIR/root root chown 0:0 root chmod 700 root mkdir account mkdir cache mkdir cache/man mkdir cache/yum mkdir crash chown 34:34 crash mkdir db cp -Rp ../../var_tmp/db/ db/ mkdir empty mkdir empty/sshd chmod 0111 empty/sshd mkdir gdm chmod 1770 gdm chown 0:42 gdm mkdir lib mkdir lib/alternatives cp -Rp ../../var_tmp/lib/alternatives/ lib/alternatives/ mkdir lib/dhcp mkdir lib/games mkdir lib/misc mkdir lib/nfs mkdir lib/ntp mkdir lib/rpm cp -Rp ../../var_tmp/lib/rpm/ lib/rpm/ mkdir lib/scrollkeeper cp -Rp ../../var_tmp/lib/scrollkeeper/ lib/scrollkeeper/ mkdir lib/slocate mkdir lib/up2date mkdir local mkdir lock chown 0:54 lock mkdir lock/subsys mkdir log mkdir log/audit chmod 750 log/audit mkdir log/cups #mkdir log/daemons mkdir log/gdm #mkdir log/lpr mkdir log/mail mkdir named cp -Rp ../../var_tmp/named/ named/ chmod 750 named chown 0:25 named mkdir nis mkdir spool mkdir spool/mqueue mkdir spool/clientmqueue mkdir spool/cups mkdir spool/anacron mkdir opt mkdir preserve mkdir run mkdir run/console mkdir run/dbus mkdir run/named chmod 770 run/named chown 25:25 run/named mkdir run/netreport mkdir run/sudo chmod 700 run/sudo mkdir run/usb chmod 700 run/usb mkdir tmp chmod 1777 tmp mkdir www cp -Rp ../../var_tmp/www/ www/ mkdir yp cp -Rp ../../var_tmp/yp/ yp/ #touch utmp touch lib/random-seed chmod 600 lib/random-seed touch log/messages chmod 640 log/messages touch log/syslog chmod 640 log/syslog touch log/wtmp chmod 640 log/wtmp touch log/cron chmod 600 log/cron ln -s /sbin sbin ln -s /bin bin cd .. cd .. } # ------------------------------------------ cd $FEDORAROOTDIR echo Preparing $FEDORAROOTDIR... mkdir template mkdir statefull # /var: mkdir template/var mv var var_tmp prepare_var rm -fr var_tmp rmdir var_tmp 2> /dev/null mkdir var chmod 000 var # /etc: mkdir statefull/etc mv etc/gconf statefull/etc/ mv etc template/etc ln -s /var/etc etc ln -s /statefull/etc/gconf template/etc/gconf rm template/etc/mtab ln -s /proc/mounts template/etc/mtab mv template/etc/sysconfig/network template/etc/sysconfig/network.ORIG echo "NETWORKING=yes" > template/etc/sysconfig/network if [ "x$NISDOMAIN" != "x" ]; then echo "NISDOMAIN=$NISDOMAIN" >> template/etc/sysconfig/network echo $NISSERVERIP >> template/etc/hosts fi echo "setenv HOME=/tmp" >> template/etc/csh.login echo "HOME=/tmp ; export HOME" >> template/etc/profile # /tmp: rm -fr tmp rmdir tmp 2> /dev/null ln -s /var/tmp tmp # /proc: rm -fr proc rmdir proc 2> /dev/null mkdir proc chmod 000 proc touch proc/mounts ln -s # /dev: rm -fr dev/* rmdir dev 2> /dev/null mkdir dev # inne: ln -s /var/root root ln -s /var/home home mkdir ftp mkdir ftp/pub rm -f .autofsck 2> /dev/null