Mikhail Ramendik wrote: > В сообщении от 8 марта 2006 15:45 Artem Chuprina написал(a): > > >>Я тоже подумал в эту сторону. Но Мише будет непросто такое написать. > > > Собственно, мне надо понять две вещи - (1) что у этого скрипта должно быть на > выходе; (2) как определить без собственно mount, является ли некое устройство > valid block device. > > Склоняюсь к забиванию на автоматику. Для монтирования руками написать скрипт, > запускаемый через sudo, будет IMHO просто. >
Проблема меня заинтересовала, так у самого ноутбучный винт в usb коробке и у жены usb брелок. До сих пор пользовался вручныю написанным /etc/auto.usb, но там были ограничения, на ноутбучном винте 2 раздела (vfat/ext2) и на брелке 1(vfat), так что очередность приходилось учитывать. Посему решил проблему устранить(см скрипт /etc/auto.usb ниже). Скрипт умеет работать только с первичными разделами В /etc/auto.master прописано следующее: /var/autofs/usb /etc/auto.usb --timeout=2 Сам скрипт #!/bin/bash # This file must be executable to work! chmod 755! key="$1" FDISK="/sbin/fdisk" [ -x $FDISK ] || exit 1 scsi=$(echo $key | sed -e 's/[0-9]\+$//') $FDISK -l /dev/$scsi 2>/dev/null | grep "^/dev/$key" | \ sed -e 's#\([^ \t]\+\)[* \t]\+\([0-9]\+\)[ \t]\+\([0-9]\+\)[ \t]\+\([0-9]\+\)[ \t]\+\([a-f0-9]\+\)[ \t]\+.*#\1 \5#g' | \ while read dev id do dir=$key case $id in c|6) echo -e "-fstype=vfat,sync,iocharset=koi8-r,quiet,gid=floppy,dmask=0002,fmask=0113 :$dev" ;; 83) echo -e "-fstype=ext2,nodev,noatime :$dev" ;; esac done # eof Естественно надо ссылки на /var/auto/usb/sd[a-d][0-9] прописать куда-нибудь (у меня например ~/mnt/usb/). Скрипт мягко говоря не оптимален, определяет тип файловой системы по типу раздела, что не всегда будет работать, но если на досовских разделах будет vfat, а на линуксовых ext2 - то жить можно. Если есть пожелания - пишите, поправлю. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]