rendered paste body#!/bin/bash# Generate an automounter entry automatically# for automount /mnt/auto program this_script# (C) Klaus Knopper 2002# WARNING: This script is used for removable media in KNOPPIX,fstype(){[ -n "$1" ] || return 1while read device mountpoint filesystem relax; docase "$device" in *$1*) echo "$filesystem"; return 0;; esacdone <<EOT$(cat /proc/mounts)EOTdd if="$1" count=1 bs=1024 >/dev/null 2>&1 || return 2FILE="$(LANG=C LC_ALL=C LC_MESSAGES=C file -Ls "$1")"[ "$?" = "0" ] || return 2FILESYSTEMS=""case "$FILE" in*[Ff][Aa][Tt]*|*[Xx]86*) FILESYSTEMS="vfat msdos ntfs";;*[Rr][Ee][Ii][Ss][Ee][Rr]*) echo "reiserfs"; return 0;;*[Xx][Ff][Ss]*) echo "xfs"; return 0;;*[Ee][Xx][Tt]3*) echo "ext3"; return 0;;*[Ee][Xx][Tt]2*) echo "ext2"; return 0;;*[Ss][Ww][Aa][Pp]*) echo "swap"; return 0;;esacTMPDIR="/tmp/autmount.${1##*/}.$$.dir"mkdir -p "$TMPDIR" || return 3FS=""read LOGLEVEL relax < /proc/sys/kernel/printkecho "0" >/proc/sys/kernel/printkfor f in $FILESYSTEMS $(</etc/filesystems); domount -r -t "$f" "$1" "$TMPDIR" >/dev/null 2>&1 && { umount "$TMPDIR"; FS="$f"; break; }umount -f "$TMPDIR" >/dev/null 2>&1doneecho "$LOGLEVEL" >/proc/sys/kernel/printkrmdir "$TMPDIR"[ -n "$FS" ] && echo "$FS" || return 4}rw="rw"device="/dev/${1##*/}"case "$1" infloppy) [ -s /etc/sysconfig/floppy ] || exit 1; device="/dev/fd0";;cdrom*) rw="ro";;dvd*) rw="ro";;esacfs="$(fstype "$device")"[ "$?" = "0" ] || exit 1case "$fs" in*fat|msdos) options="${rw},uid=knoppix,gid=knoppix,umask=000";;ntfs) options="ro,uid=knoppix,gid=knoppix,umask=0222";;iso9660) options="ro";;*) options="${rw}";;esacMNTLINE="-fstype=$fs,users,exec,$options :$device"echo "$MNTLINE"