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
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
|