X-Git-Url: https://secure.softndesign.org/git/?a=blobdiff_plain;f=master%2Fopt%2Fscript%2Fchange_configuration.sh;fp=master%2Fopt%2Fscript%2Fchange_configuration.sh;h=ee4f32ccff1cc689203d020cbf8d5a6a82b82fe4;hb=84523910649b50272f5a8693bf7c5cdb73ad1353;hp=0000000000000000000000000000000000000000;hpb=f81c83b65ada3bc612e87705f15860934f2f5a6d;p=debian6500.git diff --git a/master/opt/script/change_configuration.sh b/master/opt/script/change_configuration.sh new file mode 100755 index 0000000..ee4f32c --- /dev/null +++ b/master/opt/script/change_configuration.sh @@ -0,0 +1,168 @@ +#!/bin/bash +# ============================================================================ +# +# Copyright (C) THALES. All rights reserved +# Author: Laurent Mazet +# + +# Date : 10/10/2013 +# +# 05/11/2013 : LMa configuration des timezone Zulu(GMT) et Paris +# Desactivation de pam pour ssh +# ============================================================================ + +# Switch configuration + +# TODO +# * + +MODE_BW="" +MODE_FIX="" +MODE_HW="" +MODE_NET="" +MODE_TZ="" +TARBALLS="" +PROGNAME=$(basename $0) +VER=1.0 +TMPLOG=/tmp/$PROGNAME-$$.log + +# help function + +function usage () { + echo "usage: $PROGNAME " + echo " switch trc6500 mode" + echo " avaliable modes are:" + echo " - 8MHzMHF, 12MHzDF, 12MHzMDF, 30MHzMDF 30MHzMDF.lite or 30MHzMHF" + echo " - fix_ssh" + echo " - hw_ibm or hw_supermicro" + echo " - network" + echo " - tz_zulu or tz_paris" + exit $@ +} + +# formating functions + +function title () { echo -e "\033[0;1m$*\033[0;0m"; } +function pass () { echo -e "\033[1;32m$*\033[0;0m"; } +function warn () { echo -e "\033[1;33m$*\033[0;0m"; } +function fail () { echo -e "\033[1;31m$*\033[0;0m"; } + +# check command + +function check () { + echo -n "$@: " + $@ 2>$TMPLOG && pass OK || { fail KO; cat $TMPLOG; exit 1; } + rm -f $TMPLOG +} + +# argument processing + +while [ $# -gt 0 ]; do + case "$1" in + -h) usage 0;; + 8mhz|8MHz|12mhzdf|12MHzDF|12mhzmdf|12MHzMDF|30mhzmdf|30MHzMDF|30mhzmdf.lite|30MHzMDF.lite|30mhzmhf|30MHzMHF) MODE_BW="${1^^}";; + fix_ssh) MODE_FIX="$1";; + hw_ibm|hw_supermicro) MODE_HW="$1";; + network) MODE_NET="$1";; + tz_paris|tz_zulu) MODE_TZ="$1";; + *) usage 1;; + esac + shift +done + +# main process + +action="" + +if [ "$MODE_BW" ]; then + title "updating /etc/hosts" + MODE_BW=${MODE_BW/MHZ/MHz} + check rm -f /etc/hosts + check ln -s /etc/hosts.${MODE_BW/LITE/lite} /etc/hosts + TARBALLS+=" root" + for ip in 0A851{A,C}; do check ln -T -f -s default /opt/tftp/pxelinux.cfg/$ip; done + case "$MODE_BW" in + 8MHzMHF) + for ip in 0A851{A,C}A5; do check ln -T -f -s rec /opt/tftp/pxelinux.cfg/$ip; done + ;; + 12MHzDF) ;; + 12MHzMDF) ;; + 30MHzMDF) ;; + 30MHzMDF.lite) + for ip in 0A851{A,C}; do check ln -T -f -s lite /opt/tftp/pxelinux.cfg/$ip; done + check cp /etc/dhcp/dhcpd.conf.lite /etc/dhcp/dhcpd.conf + ;; + 30MHzMHF) + for ip in 0A851{A,C}A{1..6}; do check ln -T -f -s acq /opt/tftp/pxelinux.cfg/$ip; done + for ip in 0A851{A,C}A9; do check ln -T -f -s rec /opt/tftp/pxelinux.cfg/$ip; done + ;; + esac + action="done" +fi + +if [ "$MODE_FIX" ]; then + + case "$MODE_FIX" in + fix_ssh) + sed -i 's/^\(UsePAM\) yes/\1 no/' /etc/ssh/sshd_config + TARBALLS+=" root" + + action="done" + esac + +fi + +if [ "$MODE_HW" ]; then + + conf=/etc/default/shutdownallblades + + title "change shutdownallblades" + if $(grep -sq '^#*REBOOT=' $conf); then + case "$MODE_HW" in + hw_ibm) check sed -i 's/^#*REBOOT=.*$/#REBOOT=yes/' $conf;; + hw_supermicro) check sed -i 's/^#*REBOOT=.*$/REBOOT=yes/' $conf;; + esac + else + case "$MODE_HW" in + hw_ibm) check sed -i '$a#REBOOT=yes' $conf;; + hw_supermicro) check sed -i '$aREBOOT=yes' $conf;; + esac + fi + + action="done" +fi + +if [ "$MODE_NET" ]; then + + conf=/etc/dhcp/dhcpd.conf + + title "update network configuraton" + if $(grep -sq 'trc[0-9]*_1' $conf); then + check sed -i 's/\(host.*trc[0-9][0-9]\)\([^_]\)/\1-rf\2/;s/\(host.*trc[0-9][0-9]\)_1/\1/' $conf + fi + TARBALLS+=" root" + + action="done" +fi + +if [ "$MODE_TZ" ]; then + case "$MODE_TZ" in + tz_paris) TZ="Europe/Paris";; + tz_zulu) TZ="Etc/Zulu";; + *) TZ="";; + esac + + if [ "$TZ" ]; then + echo $TZ > /etc/timezone + TARBALLS+=" root" + + action="done" + fi +fi + +# last check +[ "$action" ] || { echo "no mode specified"; exit 1; } + +[ "$TARBALLS" ] && make -f /opt/cluster/Makefile $TARBALLS + +# vim:set tabstop=4 expandtab shiftwidth=4: