1#!/bin/sh 2# 3# Setup a new config directory 4# 5if [ $# -lt 1 ] ; then 6 echo "Usage: $0 <newconfig> [<baseconfig>]" 7 echo "Usage: $0 init" 8 exit 1; 9fi 10dir=$1 11 12if [ $dir = init ] ; then 13 if [ -d /etc/etc.network -o -e /etc/etc/current ] ; then 14 echo "Error: multi-configuration already initialized" 15 exit 1 16 fi 17 dir=etc.network 18 cd /etc 19 mkdir -m 755 $dir 20 ln -s $dir etc.current 21 ln -s $dir etc.default 22 for i in fstab rc.conf netstart mrouted.conf ntp.conf resolv.conf \ 23 nsswitch.conf rbootd.conf inetd.conf ifconfig.* myname \ 24 mygate defaultdomain; do 25 if [ -f $i ] ; then 26 mv $i $dir 27 ln -s etc.current/$i . 28 fi 29 done 30 echo "/etc/$dir has now been created and populated." 31 exit 0 32fi 33 34if [ "`expr $dir : 'etc\.\(.*\)'`" != $dir ] ; then 35 dir=etc.$dir 36fi 37if [ -e /etc/$dir ] ; then 38 echo "Error: $dir already exists" 39 exit 1; 40fi 41newname=`expr $dir : 'etc.\(.*\)'` 42if [ $# -lt 2 ] ; then 43 orig=etc.current 44 echo "Using current config as base for $newname" 45else 46 orig=$2 47fi 48 49if [ -z "`expr $orig : 'etc.\(.*\)'`" ] ; then 50 orig=etc.$orig 51fi 52 53if [ ! -d /etc/$orig ] ; then 54 echo "Original directory /etc/$orig does not exist." 55 exit 1; 56fi 57mkdir -m 755 /etc/$dir 58cp -p /etc/$orig/* /etc/$dir 59echo "/etc/$dir has now been created and populated." 60exit 0 61