64 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.0 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 /etc/fstab /boot/grub /etc/grub.conf /boot/efi /etc/elilo.conf /xcatpost /etc/xcat /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 /var/lib
 | |
| 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
 | |
|     echo "Running dracut to regenerate the initrd with the drivers needed by this node:"
 | |
|     dracut  --force
 | |
| 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"`
 | |
|         kernelversion=`echo $initrdfile |sed -e 's:/boot/initrd-\(.*\)\.img:\1:g'`
 | |
|         mv $initrdfile $initrdfile.org
 | |
|         mkinitrd $initrdfile $kernelversion
 | |
|     else
 | |
|         mkinitrd
 | |
|     fi
 | |
| fi
 |