94 lines
2.6 KiB
Bash
Executable File
94 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#Used only by sysclone
|
|
|
|
installmethods=''
|
|
if [ -f "/etc/xcat/xcatinstallinfo" ];then
|
|
installmethods=`cat /etc/xcat/xcatinstallinfo`
|
|
fi
|
|
|
|
if [ "$installmethods" != "sysclone" ];then
|
|
# echo "This node didn't be installed by sysclone"
|
|
exit 0
|
|
fi
|
|
|
|
#update the exclude configuration file
|
|
#do not sync the following files
|
|
for filename in \
|
|
/boot/efi \
|
|
/boot/grub \
|
|
/etc/fstab \
|
|
/etc/grub.conf \
|
|
/etc/lilo.conf \
|
|
/etc/elilo.conf \
|
|
/etc/xcat \
|
|
/etc/yaboot.conf \
|
|
/etc/hosts \
|
|
/etc/udev/rules.d \
|
|
/etc/modprobe.d/bond0.conf \
|
|
/etc/modprobe.d/bond1.conf \
|
|
/etc/ssh \
|
|
/etc/sysconfig/syslog \
|
|
/etc/syslog-ng/syslog-ng.conf \
|
|
/opt/xcat \
|
|
/root/.ssh \
|
|
/var/cache \
|
|
/xcatpost
|
|
do
|
|
if [ ! -e $filename ];then
|
|
continue
|
|
fi
|
|
|
|
grep -E "^\s*${filename}\s*$" "/etc/systemimager/updateclient.local.exclude"
|
|
if [ $? -ne 0 ];then
|
|
echo "$filename" >> "/etc/systemimager/updateclient.local.exclude"
|
|
fi
|
|
done
|
|
|
|
#get the current image server
|
|
str_server_ip=''
|
|
. /opt/xcat/xcatinfo
|
|
if [ -n "$XCATSERVER" ];then
|
|
str_server_ip=$XCATSERVER
|
|
else
|
|
str_server_ip=$MASTER
|
|
fi
|
|
|
|
if [ -z "$str_server_ip" ];then
|
|
echo "Can not find out the image server."
|
|
exit 1
|
|
fi
|
|
|
|
str_server_ip=`echo $str_server_ip | sed "s/'//g"`
|
|
#call system imager command to update the image
|
|
echo "si_updateclient --server $str_server_ip --yes"
|
|
export PERL5LIB=/usr/lib/perl5/site_perl/;LANG=C si_updateclient --server $str_server_ip --yes
|
|
|
|
if [[ -f /sbin/dracut ]]; then
|
|
# redhat6.x/centos6.x/rhels7.x
|
|
echo "Running dracut to regenerate the initrd with the drivers needed by this node:"
|
|
arch=`uname -m`
|
|
#echo "arch=$arch"
|
|
initrdfile=`find /boot -name "initramfs-*.$arch.img"`
|
|
#echo "initrdfile=$initrdfile"
|
|
kernelversion=`echo $initrdfile |sed -e 's:/boot/initramfs-\(.*\)\.img:\1:g'`
|
|
#echo "kernelversion=$kernelversion"
|
|
mv $initrdfile $initrdfile.org
|
|
echo "dracut $initrdfile $kernelversion"
|
|
dracut $initrdfile $kernelversion
|
|
else
|
|
# suse/sles and redhat5.x/centos5.x
|
|
echo "Running mkinitrd to regenerate the initrd with the drivers needed by this node:"
|
|
osvers=`cat /etc/*release|sed -e 's/.*\([0-9]\{1,\}\.[0-9]\{1,\}\).*/\1/'`
|
|
if [[ $osvers == 5\.* ]];then
|
|
initrdfile=`find /boot -name "initrd-*.img"`
|
|
#echo "initrdfile=$initrdfile"
|
|
kernelversion=`echo $initrdfile |sed -e 's:/boot/initrd-\(.*\)\.img:\1:g'`
|
|
#echo "kernelversion=$kernelversion"
|
|
mv $initrdfile $initrdfile.org
|
|
echo "mkinitrd $initrdfile $kernelversion"
|
|
mkinitrd $initrdfile $kernelversion
|
|
else
|
|
mkinitrd
|
|
fi
|
|
fi
|