You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.6 KiB

#!/bin/sh
# Make /etc/fstab standard compliant.
# M.Weller (eowmob@exp-math.uni-essen.de) 13.11.1994.
# This script is public domain. Still if only slightly
# modified a credit to me might be nice.
ROOT_PASS=1 # Pass for root file system
NON_ROOT_PASS=2 # Pass for non root file systems
DEF_FLAGS="defaults" # Default filesysflags
DEF_DUMP=0 # Default dumpfreq.
while read LINE
do
set -- $LINE
if [ $# != 0 ]
then
case $1 in
\#* | !* )
echo "$LINE"
# Actually there are no comments allowed in /etc/fstab
echo "Warning: comment in /etc/fstab detected." >&2
echo "Please remove it by hand." >&2
;;
* )
if [ $# -gt 6 ] || [ $# -lt 3 ]
then
echo "Don't have a clue about \"$LINE\"." >&2
echo "$LINE"
else
case $2 in
/ )
PASS=$ROOT_PASS
;;
none )
PASS=0
;;
* )
PASS=$NON_ROOT_PASS
;;
esac
DUMP=$DEF_DUMP
case $3 in
ignore | iso9660 | msdos | hpfs | sysv | \
xenix | coherent | nfs | proc | sw | swap )
DUMP=0;
PASS=0;
;;
esac
case $# in
3 )
echo "$LINE $DEF_FLAGS $DUMP $PASS"
;;
4 )
echo "$LINE $DUMP $PASS"
;;
5 )
echo "$LINE $PASS"
;;
6)
echo "$LINE"
;;
esac
fi
;;
esac
else
echo "Warning: One empty line removed." >&2
fi
done </etc/fstab >/tmp/newfstab.$$
mv -f /etc/fstab /etc/fstab.bak
mv -f /tmp/newfstab.$$ /etc/fstab
if [ $? != 0 ]
then
echo "Installation of patched /etc/fstab failed."
echo "It would have been:"
cat /tmp/newfstab.$$
rm -f /tmp/newfstab.$$
fi