Deleted Added
full compact
update (71703) update (91866)
1#!/bin/sh
1#!/bin/sh
2# $FreeBSD: head/release/picobsd/mfs_tree/stand/update 71703 2001-01-27 03:23:44Z luigi $
3# script to edit and save some config file(s)
2# $FreeBSD: head/release/picobsd/mfs_tree/stand/update 91866 2002-03-08 12:14:46Z luigi $
3# script to edit and save some config file(s).
4# If called with no arguments, it edits 3 files in /etc
4thefiles=$*
5thefiles=$*
5pwd=`pwd`
6dev="/dev/fd0c"
7echo "Updating content on ${dev}: "
6[ -z "$thefiles" ] && \
7 thefiles="/etc/rc.conf /etc/rc.firewall /etc/master.passwd"
8dev=`sysctl -n kern.bootdevname`
9[ -z ${dev} ] && dev="/dev/fd0"
8mount ${dev} /mnt
10mount ${dev} /mnt
9if [ "X$?" != "X0" ] ; then
11if [ "$?" != "0" ] ; then
10 echo ""
11 echo "Cannot mount ${dev} read-write!"
12 exit 1
13fi
12 echo ""
13 echo "Cannot mount ${dev} read-write!"
14 exit 1
15fi
14if [ "$thefiles" = "" ] ; then
15 srcs=`ls /etc`
16 for i in $srcs ; do
17 if [ -f /mnt/etc/$i.gz ] ; then
18 echo -n "$i ..."
19 gzip < /etc/$i > /mnt/etc/$i.gz
20 fi
21 done
22elif [ "$thefiles" = "passwd" ] ; then
23 ee /etc/master.passwd
24 pwd_mkdb master.passwd
25 gzip < /etc/master.passwd /mnt/etc/master.passwd.gz
26else
27 for i in $thefiles; do
28 if [ -f $i ] ; then
29 ee $i
30 gzip < $i > /mnt/$i.gz
31 fi
32 done
33fi
34echo " Done."
35echo -n "Updating kernel parameters... "
36kget /mnt/boot/kernel.conf
16
17echo "Updating ${thefiles} on ${dev}: "
18
19for f in ${thefiles} ; do
20 case $f in
21 /etc )
22 echo "Update all files in $f :"
23 srcs=`ls $f`
24 for i in $srcs ; do
25 if [ -f /mnt${f}/${i}.gz ]; then
26 echo -n "$i ..."
27 gzip < $f/$i > /mnt${f}/${i}.gz
28 fi
29 done
30 echo " Done."
31 ;;
32
33 passwd|master.passwd)
34 mkdir -p /mnt/etc
35 ee /etc/master.passwd
36 pwd_mkdb /etc/master.passwd
37 gzip < /etc/master.passwd > /mnt/etc/master.passwd.gz
38 ;;
39
40 /*) # only absolute pathnames are ok
41 mkdir -p /mnt/etc /mnt/root
42 [ -f $f ] && ee $f && gzip < $f > /mnt${f}.gz
43 ;;
44
45 *)
46 echo "File $f not recognised, you must use an absolute pathname."
47 ;;
48 esac
49done
37umount /mnt
50umount /mnt
38cd ${pwd}
39echo " Done."