161119Sluigi#!/bin/sh 261119Sluigi# $FreeBSD: releng/11.0/release/picobsd/mfs_tree/stand/update 92059 2002-03-11 05:15:44Z luigi $ 391866Sluigi# script to edit and save some config file(s). 491866Sluigi# If called with no arguments, it edits 3 files in /etc 561119Sluigithefiles=$* 691866Sluigi[ -z "$thefiles" ] && \ 791866Sluigi thefiles="/etc/rc.conf /etc/rc.firewall /etc/master.passwd" 892059Sluigidev=`sysctl -n machdep.guessed_bootdev` 992059Sluigi[ -c "${dev}" ] || dev="/dev/fd0" 1061119Sluigimount ${dev} /mnt 1191866Sluigiif [ "$?" != "0" ] ; then 1261119Sluigi echo "" 1361119Sluigi echo "Cannot mount ${dev} read-write!" 1461119Sluigi exit 1 1561119Sluigifi 1691866Sluigi 1791866Sluigiecho "Updating ${thefiles} on ${dev}: " 1891866Sluigi 1991866Sluigifor f in ${thefiles} ; do 2091866Sluigi case $f in 2191866Sluigi /etc ) 2291866Sluigi echo "Update all files in $f :" 2391866Sluigi srcs=`ls $f` 2491866Sluigi for i in $srcs ; do 2591866Sluigi if [ -f /mnt${f}/${i}.gz ]; then 2691866Sluigi echo -n "$i ..." 2791866Sluigi gzip < $f/$i > /mnt${f}/${i}.gz 2891866Sluigi fi 2991866Sluigi done 3091866Sluigi echo " Done." 3191866Sluigi ;; 3291866Sluigi 3391866Sluigi passwd|master.passwd) 3491866Sluigi mkdir -p /mnt/etc 3591866Sluigi ee /etc/master.passwd 3691866Sluigi pwd_mkdb /etc/master.passwd 3791866Sluigi gzip < /etc/master.passwd > /mnt/etc/master.passwd.gz 3891866Sluigi ;; 3991866Sluigi 4091866Sluigi /*) # only absolute pathnames are ok 4191866Sluigi mkdir -p /mnt/etc /mnt/root 4291866Sluigi [ -f $f ] && ee $f && gzip < $f > /mnt${f}.gz 4391866Sluigi ;; 4491866Sluigi 4591866Sluigi *) 4691866Sluigi echo "File $f not recognised, you must use an absolute pathname." 4791866Sluigi ;; 4891866Sluigi esac 4991866Sluigidone 5061119Sluigiumount /mnt 51