Changeset 466 for main/linuxmuster-linbo/trunk/share/update-linbofs.sh
- Timestamp:
- 03/16/09 15:32:35 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/linuxmuster-linbo/trunk/share/update-linbofs.sh
r337 r466 4 4 # 5 5 # Thomas Schmitt <schmitt@lmz-bw.de> 6 # 19.11.2008 6 # 7 # last change: 24.02.2009 7 8 # 8 9 … … 10 11 . /usr/share/linuxmuster/config/dist.conf || exit 1 11 12 . $HELPERFUNCTIONS || exit 1 13 14 groups="$@" 15 16 # sets serverip in start.conf 17 set_serverip(){ 18 local conf=$1 19 grep -q ^"Server = $serverip" $conf && return 0 20 if grep -q ^Server $conf; then 21 sed -e "s/^Server.*/Server = $serverip/" -i $conf 22 else 23 sed -e "/^\[LINBO\]/a\ 24 Server = $serverip" -i $conf 25 fi 26 } 27 28 # sets group in start.conf 29 set_group(){ 30 local conf=$1 31 local group=$2 32 grep -q ^"Group = $group" $conf && return 0 33 if grep -q ^Group $conf; then 34 sed -e "s/^Group.*/Group = $group/" -i $conf 35 else 36 sed -e "/^Server/a\ 37 Group = $group" -i $conf 38 fi 39 } 40 # sets pxe config file 41 set_pxeconfig(){ 42 local group=$1 43 local conf="$LINBODIR/pxelinux.cfg/$group" 44 local linbofs=linbofs.$group.gz 45 [ -e "$conf" ] || cp $PXELINUXCFG $conf 46 grep -q $linbofs $conf && return 0 47 sed -e "s|initrd=linbofs[.a-zA-Z0-9_-]*.gz|initrd=$linbofs|g" -i $conf 48 } 12 49 13 50 # this script makes only sense if imaging=linbo … … 62 99 [ $RC -ne 0 ] && bailout " Failed to unpack linbofs.gz!" 63 100 64 # begin with default linbofs.gz65 echo -n " * default ... "66 67 101 # store linbo md5 password 68 102 [ -n "$linbo_md5passwd" ] && echo -n "$linbo_md5passwd" > etc/linbo_passwd … … 72 106 echo "mailhub=$serverip:25" > etc/ssmtp/ssmtp.conf 73 107 74 # copy default start.conf 75 cp -f $LINBODIR/start.conf . 108 if [ -z "$groups" ] || stringinstring default "$groups"; then 109 # begin with default linbofs.gz 110 echo -n " * default ... " 76 111 77 # pack default linbofs.gz again 78 find . | cpio --quiet -o -H newc | gzip -9c > $LINBODIR/linbofs.gz ; RC="$?" 79 [ $RC -ne 0 ] && bailout "failed!" 80 echo -e "[LINBOFS]\ntimestamp=`date +%Y\%m\%d\%H\%M`\nimagesize=`ls -l $LINBODIR/linbofs.gz | awk '{print $5}'`" > $LINBODIR/linbofs.gz.info 81 echo "Ok!" 112 # check and copy default start.conf 113 set_serverip $LINBODIR/start.conf 114 cp -f $LINBODIR/start.conf . 115 116 # pack default linbofs.gz again 117 find . | cpio --quiet -o -H newc | gzip -9c > $LINBODIR/linbofs.gz ; RC="$?" 118 [ $RC -ne 0 ] && bailout "failed!" 119 echo -e "[LINBOFS]\ntimestamp=`date +%Y\%m\%d\%H\%M`\nimagesize=`ls -l $LINBODIR/linbofs.gz | awk '{print $5}'`" > $LINBODIR/linbofs.gz.info 120 echo "Ok!" 121 fi 122 123 # if no groups are given on cmdline then take all groups from workstations file 124 [ -z "$groups" ] && groups=`grep -v ^# $WIMPORTDATA | awk -F\; '{ print $3 " " $11 }' | grep -v -w 0 | awk '{ print $1 }' | sort -u` 82 125 83 126 # now process all groups found in $WIMPORTDATA 84 for i in `grep -v ^# $WIMPORTDATA | awk -F\; '{ print $3 " " $11 }' | grep -v -w 0 | awk '{ print $1 }' | sort -u`; do 127 for i in $groups; do 128 129 # skip group default 130 [ "$group" = "default" ] && continue 85 131 86 132 # do nothing if there is no start.conf for this group … … 90 136 echo -n " * $i ... " 91 137 92 # adding group name to start.conf 93 if grep -q ^Group $LINBODIR/start.conf.$i; then 94 sed -e "s/^Group.*/Group = $i/" -i $LINBODIR/start.conf.$i 95 else 96 sed -e "/^Server/a\ 97 Group = $i" -i $LINBODIR/start.conf.$i 98 fi 138 # check and repair necessary conf files 139 set_serverip $LINBODIR/start.conf.$i 140 set_group $LINBODIR/start.conf.$i $i 141 set_pxeconfig $i 99 142 100 143 # copy group specific start.conf
Note: See TracChangeset
for help on using the changeset viewer.
