Changeset 4085 in genesis for tools/config-node.sh


Ignore:
Timestamp:
Mar 16, 2005, 11:26:53 PM (20 years ago)
Author:
rick
Message:

Fixed wrong updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/config-node.sh

    r4054 r4085  
    11#!/bin/sh
    2 # (c) Copyright 2002, 2003 Stichting Wireless Leiden, all
     2# (c) Copyright 2002, 2003, 2005 Stichting Wireless Leiden, all
    33#     rights reserved. More information can be found on
    44#     http://wwww.wirelessleiden.nl and the license is at:
     
    99# If there is a global system configuration file, suck it in.
    1010#
    11 
    12 
    13 if [ -r /etc/defaults/rc.conf ]; then
    14         . /etc/defaults/rc.conf
    15         source_rc_confs
    16 elif [ -r /etc/rc.conf ]; then
    17         . /etc/rc.conf
    18 fi
    1911
    2012PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
     
    4941case $proxyset in
    5042 
    51 n)     
     43n) 
    5244echo no proxy is set
    53                 ;;
     45    ;;
    5446y)
    55                 echo this the proxy ${HTTP_PROXY}
    56                 export HTTP_PROXY
    57                 ;;
     47    echo this the proxy ${HTTP_PROXY}
     48    export HTTP_PROXY
     49    ;;
    5850
    5951*)
    60                 ${HTTP_PROXY}=${proxyset}
    61                 echo this the proxy $HTTP_PROXY
    62                 export HTTP_PROXY
    63                 ;;
     52    ${HTTP_PROXY}=${proxyset}
     53    echo this the proxy $HTTP_PROXY
     54    export HTTP_PROXY
     55    ;;
    6456esac
    6557
     
    7466lcd=${LCDIR:-/lcd}
    7567
    76 # True/false - logging.
    77 # quiet=true
    78 
    7968# Make sure we clean up our mess when needed.
    8069trap "rm -f ${TMPPREFIX}.?; echo Failed; exit 1;" 2 3
     
    8776        killall dhclient
    8877fi
    89        
     78 
    9079
    9180echo "enter the ipadress to resolv dns"
     
    9988case $dns_list in
    100891)
    101         resolver="172.17.8.1"
    102                 ;;
    103 2)      
    104         resolver="194.109.9.99"
    105                 ;;
     90  resolver="172.17.8.1"
     91    ;;
     922)  
     93  resolver="194.109.9.99"
     94    ;;
    106953)
    107         resolver="10.0.0.1"
    108                 ;;
     96  resolver="10.0.0.1"
     97    ;;
    10998*)
    110         resolver=$dns_list
    111         ;;
     99  resolver=$dns_list
     100  ;;
    112101esac
    113102
     
    122111do
    123112case ${nic} in
    124         lo0)
    125                 echo   
    126                 ;;
    127         wi*)
    128                 echo
    129                 ;;
    130         *)
    131         if ping -qnoc ${WHOST}; then
    132                 echo Connection on interface ${nic} ok
    133         else
    134                 killall dhclient
    135                 echo Trying to get a DHCP lease on ${nic}
    136                 dhclient -1 ${nic}
    137         fi
    138         ;;
    139         esac
     113  lo0)
     114    echo   
     115    ;;
     116  wi*)
     117    echo
     118    ;;
     119  *)
     120  if ping -qnoc ${WHOST}; then
     121    echo Connection on interface ${nic} ok
     122  else
     123    killall dhclient
     124    echo Trying to get a DHCP lease on ${nic}
     125    dhclient -1 ${nic}
     126  fi
     127  ;;
     128  esac
    140129done
    141130}
     
    150139fi
    151140if [ "x${nic_dhcp}" = "xn" ] ; then
    152         echo proceding...
    153         else
    154         echo running dhclient
    155         connset
     141  echo proceding...
     142  else
     143  echo running dhclient
     144  connset
    156145fi
    157146# Logging function
     
    159148log()
    160149{
    161         ${quiet} || return
    162         echo $*
     150  echo $*
    163151}
    164152
    165153cleanse()
    166154{
    167         rm -f ${TMPPREFIX}.?
     155  rm -f ${TMPPREFIX}.?
    168156}
    169157
     
    173161cleanexit()
    174162{
    175         E=1
    176         if [ $# -gt 0 ]; then
    177                 E=$1
    178         fi
    179         cleanse
    180         log Exit
    181         exit $E
    182         # Trap any weird exit codes.
    183         exit 1
     163  E=1
     164  if [ $# -gt 0 ]; then
     165    E=$1
     166  fi
     167  cleanse
     168  log Exit
     169  exit $E
     170  # Trap any weird exit codes.
     171  exit 1
    184172}
    185173
    186174safefetch()
    187175{
    188         url=$1
    189         file=$2
    190         fetch -q -o - ${link}${nodename} > ${TMPPREFIX}.x \
    191                 || cleanexit 1
    192         cp ${TMPPREFIX}.x ${dir}/${list} \
    193                 || cleanexit 1
    194         rm -f ${TMPPREFIX}.x
    195 
    196         return 0
     176  url=$1
     177  file=$2
     178  fetch -q -o - ${link}${nodename} > ${TMPPREFIX}.x \
     179    || cleanexit 1
     180  cp ${TMPPREFIX}.x ${dir}/${list} \
     181    || cleanexit 1
     182  rm -f ${TMPPREFIX}.x
     183
     184  return 0
    197185}
    198186
     
    208196while ! grep -q "^${nodename}\$" ${nlist}
    209197do
    210         echo Nodes:
    211         cat ${nlist}
    212         echo
    213         echo -n enter nodename \[default: ${default}\]:
    214         if [ -z ${QUIET} ]; then       
    215           read nodename
    216         else
    217           nodename=${default}
    218         fi
    219 
    220         if [ "x${nodename}" = "x" ]; then
    221                 nodename=${default}
    222         fi
     198  echo Nodes:
     199  cat ${nlist}
     200  echo
     201  echo -n enter nodename \[default: ${default}\]:
     202  if [ -z ${QUIET} ]; then 
     203    read nodename
     204  else
     205    nodename=${default}
     206  fi
     207
     208  if [ "x${nodename}" = "x" ]; then
     209    nodename=${default}
     210  fi
    223211done
    224212
     
    226214}
    227215
    228 # a function to move conf_file to admin_dir
    229 # and to make symlink on the old location to
    230 # the new location
    231216
    232217do_diff() {
    233         diff -uwbB ${symdir}/${i} ${dir}/${i}.new
    234 }
     218  diff -uwbB ${symdir}/${i} ${dir}/${i}.new
     219}
     220
    235221
    236222do_move() {
    237 if [ -x ${dir}/${i}.bak ]; then
     223if [ -e ${dir}/${i}.bak ]; then
    238224  rm ${dir}/${i}.bak
    239225fi
    240226
    241 if [ -x ${dir}/${i} ]; then
    242   mv ${dir}/${i} ${dir}/${i}.bak  || cleanexit 1
     227if [ -e ${dir}/${i} ]; then
     228  mv ${dir}/${i} ${dir}/${i}.bak || cleanexit 1
    243229  log backup ${dir}/${i} to ${dir}/${i}.bak
    244230fi
     
    249235
    250236bink() {
    251         $CMD
     237  $CMD
    252238}
    253239
     
    259245#
    260246if  [ ! -d ${dir}  ]; then
    261         mkdir -p ${dir} || cleanexit 1
     247  mkdir -p ${dir} || cleanexit 1
    262248fi
    263249
    264250if [ -z ${HTTP_PROXY} ]; then
    265         # checking connection - and only fiddle
    266         # with interfaces if we need to.
    267         #
    268         (
    269                 echo no proxy defined - checking connection.
    270                 host ${WHOST} > /dev/null || exit 1
    271                 ping -qnoc 1 ${WHOST} > /dev/null || exit 1
    272                 exit 0
    273         ) || connset
     251  # checking connection - and only fiddle
     252  # with interfaces if we need to.
     253  #
     254  (
     255    echo no proxy defined - checking connection.
     256    host ${WHOST} > /dev/null || exit 1
     257    ping -qnoc 1 ${WHOST} > /dev/null || exit 1
     258    exit 0
     259  ) || connset
    274260fi
    275261
    276262CMD=do_move
    277263if [ "x$1" = "x-d" ]; then
    278         CMD=do_diff
    279         dir=${TMPDIR}
    280         shift
     264  CMD=do_diff
     265  dir=${TMPDIR}
     266  shift
    281267fi
    282268
     
    284270#
    285271if [ $# = 1 ]; then
    286         nodename=$1
     272  nodename=$1
    287273else
    288         if [ -r ${lcd}/myname ]; then
    289                 default=`cat ${lcd}/myname`
    290         else
    291                 default=`hostname -s`
    292                 test -z $default && default=none
    293         fi
     274  if [ -r ${lcd}/myname ]; then
     275    default=`cat ${lcd}/myname`
     276  else
     277    default=`hostname -s`
     278    test -z $default && default=none
     279  fi
    294280fi
    295281
     
    306292for i in `cat ${dir}/${list}`
    307293do
    308         log getting ${i} for ${nodename} from ${link}
    309         fetch -q -o - ${link}${nodename}/${i} > ${dir}/${i}.new \
    310                 || cleanexit 1
     294  log getting ${i} for ${nodename} from ${link}
     295  fetch -q -o - ${link}${nodename}/${i} > ${dir}/${i}.new \
     296    || cleanexit 1
    311297done
    312298
     
    314300for i in  `cat ${dir}/${list}`
    315301do
    316         case ${i} in
    317         linux.sh | config)
    318                 log obsolete file: ${i} - skipped
    319                 ;;
    320         resolv.conf | rc.node.local | rc.local)
    321                 symdir='/etc/'
    322                 bink
    323                 ;;
    324         snmpd.local.conf)
    325                 symdir='/usr/local/share/snmp/'
    326                 bink
    327                 ;;
    328         named.conf)
    329                 symdir='/etc/namedb/'
    330                 bink   
    331                 ;;
    332         dhcpd.conf)
    333                 symdir='/usr/local/etc/'
    334                 bink
    335                 ;;
    336         zebra.conf | ospfd.conf)
    337                 symdir='/usr/local/etc/zebra/'
    338                 bink
    339                 ;;
    340         authorized_keys)
    341                 symdir='/root/.ssh'
    342                 bink
    343                 ;;     
    344         daemons.sh)
    345                 symdir='/wl'
    346                 bink
    347                 ;;
    348         *)
    349                 echo Script cannot cope with ${i} - ignoring..
    350                 ;;
    351         esac
     302  case $i in
     303  txtconfig|rc.local|rc.node.local|snmpd.local.conf|resolv.conf|dhcpd.conf|named.conf)
     304  bink
     305    ;;
     306  *)
     307    echo Script cannot cope with ${i} - ignoring..
     308    ;;
     309  esac
    352310done
    353311
    354312
    355313if [ -e /etc/rc.local ]; then
    356         # See if we are in rc.local
    357         if grep -q /config-node.sh /etc/rc.local; then
    358 
    359                 echo As this node now has real configs - do enter a root password
    360                 echo
    361                 passwd \
    362                         || cleanexit 1
    363 
    364                 echo Removing /etc/rc.local
    365                 rm -f /etc/rc.local
    366        
    367                 echo Will drop write perms on the next reboot.
    368         fi
     314  # See if we are in rc.local
     315  if grep -q /config-node.sh /etc/rc.local; then
     316
     317    echo As this node now has real configs - do enter a root password
     318    echo
     319    passwd \
     320      || cleanexit 1
     321
     322    echo Removing /etc/rc.local
     323    rm -f /etc/rc.local
     324 
     325    echo Will drop write perms on the next reboot.
     326  fi
    369327fi
    370328
     
    376334hostname $H
    377335if [ -r  /etc/namedb/make-localhost ]; then
    378         (
    379                 cd /etc/namedb || exit 1
    380                 sh /etc/namedb/make-localhost || exit 1
    381         ) || exit 1
     336  (
     337    cd /etc/namedb || exit 1
     338    sh /etc/namedb/make-localhost || exit 1
     339  ) || exit 1
    382340fi
    383341
     
    385343
    386344if [ -e /etc/rc.empty.conf ] ; then
    387         rm /etc/rc.empty.conf || exit
    388         echo removed /etc/rc.empty.conf - and rebooting in 30 seconds \(or press ctrl-C to abort\)
    389         read -t 30 DUMMY
    390         reboot
     345  rm /etc/rc.empty.conf || exit
     346  echo removed /etc/rc.empty.conf - and rebooting in 30 seconds \(or press ctrl-C to abort\)
     347  read -t 30 DUMMY
     348  reboot
    391349fi
    392350
Note: See TracChangeset for help on using the changeset viewer.