[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: автомонтирование флэшки на /dev/sda и /dev/sda1



Alexander Danilov wrote:
> 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
> 
> Сам скрипт
> 

[skip]

> Естественно надо ссылки на /var/auto/usb/sd[a-d][0-9] прописать куда-нибудь
> (у меня например ~/mnt/usb/).
> 
> Скрипт мягко говоря не оптимален, определяет тип файловой системы по типу раздела,
> что не всегда будет работать, но если на досовских разделах будет vfat, а на линуксовых ext2 -
> то жить можно.
> Если есть пожелания - пишите, поправлю.
> 
> 
> 

Спасибо Дмитрию Федосееву за подсказку о blkid, помню что была такая программа,
но забыл как называется. Скрипт упрощен (см. вложение)
#!/bin/bash

# This file must be executable to work! chmod 755!

key="$1"

BLKID="/sbin/blkid"

[ -x $BLKID ] || exit 1

fstype=$($BLKID -o value -s TYPE /dev/$key)
case $fstype in
	vfat|msdos)
		echo "-fstype=$fstype,sync,iocharset=koi8-r,quiet,gid=floppy,dmask=0002,fmask=0113  :/dev/$key"
		;;
	ext2|ext3)
		echo -e "-fstype=ext2,nodev,noatime  :/dev/$key"
		;;
	*) ;;
esac


Reply to: