Автоматическое монтирование

Автор: nobody Дата: 31.12.2003 10:38 Предложение сделать как в mdk, хотя бы при инсталляции она определяет разделы и в /mnt создаёт директории, в /etc/fstab прописывает разделы(той же винды, или других никсов) и они автоматически монтируются при загрузке. Можно сделать, что бы каждый раз при загрузке определялись за ново, а то вдруг я принесу откуда-то жестак, подключу его, и буду полчаса маяться, монтировать и прописывать(я понимаю, реально это 5 минут, но иногда и их нет!).
Re: Автоматическое монтирование 03.01.2004 05:30wizard580 Я сам написал похожий (правда убогий, хоть и работает) скрипт, который сам монтирует все FAT'овские диски при загрузке. Довольно удобно.
Re: Автоматическое монтирование 03.01.2004 07:04Woodoo Посмотрите на [sf.net] на предмет "automount".
Re: Автоматическое монтирование 03.01.2004 11:13Vladimir Dyakov Есть такая весчь - kudzu. Оно стоит и работает в аспе по умолчанию, делает в том числе то, чего вам хочется.
Re: Автоматическое монтирование 03.01.2004 13:33nobody Кудзу делает не то, что мне хочется. Она вылазит каждый раз и говорит, что у меня есть модем:-) а я сам и не знаю:-)
Re: Автоматическое монтирование 03.01.2004 20:40МихаилZ Вот вам мой рабочий скрипт Поддерживает scsi vfat ext3 reiser ...
Вырежьте под линуксом в файл hdmount (чтобы символ конца строки был в порядке)
Запустите bash hdmount
и у вас будет служба hdmount, которая все это делает.
---
#!/bin/sh
# chkconfig: 2345 99 99
# description: Mount all partitions on hard drives (except allready mounted)
# written by Michael Zaripov <m3@mail.ru>
. /etc/rc.d/init.d/functions
optionsfat='showexec,codepage=866,iocharset=koi8-r,umask=0'
optionslin='defaults'
mp=/mnt/
fatw=no
if [ -f /etc/hdmount.conf ] ;then
. /etc/hdmount.conf
fi

PATH=/bin:/sbin:/usr/bin:/usr/sbin

go()
{
if cat /proc/partitions | grep -q -e ${1} ;then
cd /dev
for pn in ${1}?* ;do
if cat /proc/partitions | grep -q -e $pn ;then
gopart ${1} $pn
fi
done
fi
return
}

gopart()
{
if [ -d ${mp}${2} ] ;then
if mount | grep -q -e ${mp}${2} ;then
umount ${mp}${2} >/dev/null
fi
if mount | grep -q -e ${mp}${2} ;then
umount -lf ${mp}${2} >/dev/null
umount ${mp}${2} >/dev/null
fi
if ! mount | grep -q -e ${mp}${2} ;then
rmdir --ignore-fail-on-non-empty ${mp}${2} >/dev/null
fi
fi

if [ "$hdaction" = "mount" ] ;then
if ! mount | grep -q -e /dev/${2} ;then
if ! cat /proc/swaps | grep -q -e /dev/${2} ;then
if fdisk -l /dev/${1} | grep -q -e /dev/${2} ;then
if ! fdisk -l /dev/${1} | grep -e /dev/${2} | grep -q -e Ext ;then
if ! fdisk -l /dev/${1} | grep -e /dev/${2} | grep -q -e swap ;then
mkdir ${mp}${2}
if fdisk -l /dev/${1} | grep -e /dev/${2} | grep -q -e Win95 ;then
options=$optionsfat
else
options=$optionslin
fi
mount /dev/${2} ${mp}${2} -o $options >/dev/null
if [ "$options" = "$optionsfat" ] && [ "$fatw" = "yes" ] ;then
chmod a+w -R ${mp}${2}/* >/dev/null
fi
if [ -f ${mp}${2}/.label ] ;then
lns=${mp}`cat ${mp}${2}/.label`
if [ -L ${lns} ] ;then
rm -f ${lns}
fi
ln -s ${mp}${2} ${lns}
fi
fi
fi
fi
fi
fi
fi
return
}

main()
{
fdisk -l /dev/hda >/dev/null
fdisk -l /dev/sda >/dev/null
if [ -d /proc/ide ] ;then
cd /dev
for pd in ls hd? ;do
go $pd
done
fi
if [ -d /proc/scsi ] ;then
cd /dev
for pd in ls sd? ;do
go $pd
done
fi
}

clearmp()
{
cd /dev
for pd in ls ${1}?* ;do
if [ -d ${mp}${pd} ] ;then
if ! mount | grep -q -e ${mp}${pd} ;then
rmdir --ignore-fail-on-non-empty ${mp}${pd} >/dev/null
fi
fi
done
}


case "$1" in
start)
echo -n "Mount partitions ... "
clearmp hd
clearmp sd
hdaction=mount
main && success $"$STRING" || failure $"$STRING"
echo
;;
stop)
echo -n "Unmount partitions ... "
hdaction=umount
main && success $"$STRING" || failure $"$STRING"
echo
;;
restart)
$0 stop
$0 start
;;
*)
if chkconfig --list | grep -q -e hdmount ;then
echo "Usage: $0 {start|stop|restart}"
exit 1
else
cp ${0} /etc/rc.d/init.d/hdmount
chmod 755 /etc/rc.d/init.d/hdmount
chkconfig --add hdmount
echo "optionsfat='showexec,codepage=866,iocharset=koi8-r,umask=0'" > /etc/hdmount.conf
echo "optionslin='defaults'" >> /etc/hdmount.conf
echo "mp=/mnt/" >> /etc/hdmount.conf
echo "fatw=no" >> /etc/hdmount.conf
fi
;;
esac
exit 0
---
RSS-материал