| #!/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 -o $# -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 |