echo "Installing Post Install RPMS" >/dev/tty5 echo "Log file in /tmp/postinstall.log" >/dev/tty5 # # PATH=$PATH:/mnt/bin:/mnt/usr/bin:/mnt/sbin:/mnt/usr/sbin VERSION=521 # RUN="chroot /mnt" # CHROOT="/mnt" # # This is because the rpmrc seems to be in a different place on the install # floppy vs the "mounted" image. SO we copy it over cp /mnt/usr/lib/rpm/rpmrc /usr/lib/rpmrc # This is for a future feature. This allows us to have a rpm install of # postinstall.sh in /etc and we will use it as the install script vs # doing it below. The else part of the if is so that we could also have it # reside on the install media. At the moment this is coded so that only # one of them will be run but maybe we should think about doing them all touch $CHROOT/tmp/postinstall.log if [ -x $CHROOT/etc/postinstall.sh ]; then echo "postinstall.sh is already in /etc" >> $CHROOT/tmp/postinstall.log else if [ -x /tmp/rhimage/Fermi/workgroups/scripts/postinstall.sh ] ; then cp /tmp/rhimage/Fermi/workgroups/scripts/postinstall.sh $CHROOT/etc/postinstall.sh >> $CHROOT/tmp/postinstall.log 2>&1 fi fi # done looking for postinstall.sh in /etc or in # /tmp/rhimage/fermi/workgroups/scripts so now check for it and then run it. # If it is not found then use the inline version below if [ -x $CHROOT/etc/postinstall.sh ]; then $RUN sh $CHROOT/etc/postinstall.sh # We only can install ssh via the network if the network is alive # so we test to see if we can do the network. This works on a cdrom # if they have enabled a network else if [ -d /tmp/rhimage/DONOTEXPORT ] ; then /mnt/bin/rpm --root $CHROOT -i /tmp/rhimage/DONOTEXPORT/*.i386.rpm >> $CHROOT/tmp/postinstall.log 2>&1 fi if [ -s $CHROOT/etc/sysconfig/network ] ; then # if we already have installed ssh we do not want to overwrite the keys so # we skip it here if [ -s $CHROOT/etc/ssh_host_key ]; then echo "ssh keys already exist, skipping ssh install" >> $CHROOT/tmp/postinstall.log 2>&1 else $RUN /etc/rc.d/init.d/network restart >& /dev/null /mnt/bin/rpm --root $CHROOT -i --force ftp://linux-rep.fnal.gov/pub/security/ssh-current.i386.rpm >> $CHROOT/tmp/postinstall.log 2>&1 fi $RUN rdate -s 131.225.8.120 2> /dev/null $RUN /sbin/chkconfig xntpd on /mnt/bin/rpm --root $CHROOT -i --force /tmp/rhimage/RedHat/RPMS/zz_xntp3_change-*.i386.rpm >> $CHROOT/tmp/postinstall.log 2>&1 fi $RUN /sbin/hwclock --systohc $RUN /sbin/chkconfig linuxconf off # # Determine which workgroup we are if [ -s $CHROOT/etc/workgroup ]; then WORKGROUP=`cat $CHROOT/etc/workgroup` else echo "CUSTOM" > $CHROOT/etc/workgroup WORKGROUP=`cat $CHROOT/etc/workgroup` fi echo "Fermi Red Hat Linux 5.2.1 installed for $WORKGROUP via the $MEDIA on `$RUN /bin/date`" > /tmp/banner cat /tmp/banner /tmp/rhimage/Fermi/banner > $CHROOT/etc/motd # go and copy all of the $WORKGROUP/* files from /tmp/rhimage which is # either NFS or the CDROM mkdir $CHROOT/etc/$WORKGROUP 2> /dev/null cd $CHROOT/etc/$WORKGROUP cp -R /tmp/rhimage/Fermi/workgroups/$WORKGROUP/* . 2> /dev/null cd $CHROOT ls etc/$WORKGROUP/RPMS/*.rpm > $CHROOT/tmp/rpmfiles 2> /dev/null if [ -s $CHROOT/tmp/rpmfiles ] ; then cd $CHROOT/etc/$WORKGROUP/RPMS /mnt/bin/rpm --root $CHROOT -U --force --nodeps *.rpm >& $CHROOT/etc/$WORKGROUP/workgroup.rpm.log fi cd $CHROOT if [ -d etc/$WORKGROUP/RPMSI ] ; then ls etc/$WORKGROUP/RPMSI/*.rpm > $CHROOT/tmp/rpmfiles.i 2> /dev/null if [ -s $CHROOT/tmp/rpmfiles.i ] ; then cd $CHROOT/etc/$WORKGROUP/RPMSI /mnt/bin/rpm --root $CHROOT -i --force --nodeps *.rpm >> $CHROOT/etc/$WORKGROUP/workgroup.rpm.log 2>&1 fi fi touch $CHROOT/etc/$WORKGROUP/after.rpms.log if [ -x $CHROOT/etc/$WORKGROUP/scripts/after.rpms.nochroot.sh ] ; then $CHROOT/etc/$WORKGROUP/scripts/after.rpms.nochroot.sh >> $CHROOT/etc/$WORKGROUP/after.rpms.log 2>&1 else echo "No after.rpms.sh found" >> $CHROOT/tmp/after.rpms.log 2>&1 fi if [ -x $CHROOT/etc/$WORKGROUP/scripts/after.rpms.sh ] ; then ($RUN /etc/$WORKGROUP/scripts/after.rpms.sh >> $CHROOT/etc/$WORKGROUP/after.rpms.log 2>&1 ) else echo "No after.rpms.sh found" >> $CHROOT/tmp/after.rpms.log 2>&1 fi fi