Theodore Ts'o | f3db356 | 1997-04-26 13:34:30 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # Make /etc/fstab standard compliant. |
| 3 | # M.Weller (eowmob@exp-math.uni-essen.de) 13.11.1994. |
| 4 | # This script is public domain. Still if only slightly |
| 5 | # modified a credit to me might be nice. |
| 6 | |
| 7 | ROOT_PASS=1 # Pass for root file system |
| 8 | NON_ROOT_PASS=2 # Pass for non root file systems |
| 9 | DEF_FLAGS="defaults" # Default filesysflags |
| 10 | DEF_DUMP=0 # Default dumpfreq. |
| 11 | |
| 12 | while read LINE |
| 13 | do |
| 14 | set -- $LINE |
| 15 | if [ $# != 0 ] |
| 16 | then |
| 17 | case $1 in |
| 18 | \#* | !* ) |
| 19 | echo "$LINE" |
| 20 | # Actually there are no comments allowed in /etc/fstab |
| 21 | echo "Warning: comment in /etc/fstab detected." >&2 |
| 22 | echo "Please remove it by hand." >&2 |
| 23 | ;; |
| 24 | * ) |
| 25 | if [ $# -gt 6 -o $# -lt 3 ] |
| 26 | then |
| 27 | echo "Don't have a clue about \"$LINE\"." >&2 |
| 28 | echo "$LINE" |
| 29 | else |
| 30 | case $2 in |
| 31 | / ) |
| 32 | PASS=$ROOT_PASS |
| 33 | ;; |
| 34 | none ) |
| 35 | PASS=0 |
| 36 | ;; |
| 37 | * ) |
| 38 | PASS=$NON_ROOT_PASS |
| 39 | ;; |
| 40 | esac |
| 41 | DUMP=$DEF_DUMP |
| 42 | case $3 in |
| 43 | ignore | iso9660 | msdos | hpfs | sysv | \ |
| 44 | xenix | coherent | nfs | proc | sw | swap ) |
| 45 | DUMP=0; |
| 46 | PASS=0; |
| 47 | ;; |
| 48 | esac |
| 49 | case $# in |
| 50 | 3 ) |
| 51 | echo "$LINE $DEF_FLAGS $DUMP $PASS" |
| 52 | ;; |
| 53 | 4 ) |
| 54 | echo "$LINE $DUMP $PASS" |
| 55 | ;; |
| 56 | 5 ) |
| 57 | echo "$LINE $PASS" |
| 58 | ;; |
| 59 | 6) |
| 60 | echo "$LINE" |
| 61 | ;; |
| 62 | esac |
| 63 | fi |
| 64 | ;; |
| 65 | esac |
| 66 | else |
| 67 | echo "Warning: One empty line removed." >&2 |
| 68 | fi |
| 69 | done </etc/fstab >/tmp/newfstab.$$ |
| 70 | mv -f /etc/fstab /etc/fstab.bak |
| 71 | mv -f /tmp/newfstab.$$ /etc/fstab |
| 72 | if [ $? != 0 ] |
| 73 | then |
| 74 | echo "Installation of patched /etc/fstab failed." |
| 75 | echo "It would have been:" |
| 76 | cat /tmp/newfstab.$$ |
| 77 | rm -f /tmp/newfstab.$$ |
| 78 | fi |