Automount — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
м
 
Строка 4: Строка 4:
  
 
=== 1. создать файл /etc/udev/rules.d/10-local-usb-storage.rules следующего содержания  ===
 
=== 1. создать файл /etc/udev/rules.d/10-local-usb-storage.rules следующего содержания  ===
 
+
<pre>
 
SUBSYSTEM!="block", GOTO="end_rule"
 
SUBSYSTEM!="block", GOTO="end_rule"
 
KERNEL!="sd[b-z][0-9]", GOTO="end_rule"
 
KERNEL!="sd[b-z][0-9]", GOTO="end_rule"
Строка 10: Строка 10:
 
ACTION=="remove", RUN+="/usr/bin/mount_media %k unplugdev"
 
ACTION=="remove", RUN+="/usr/bin/mount_media %k unplugdev"
 
LABEL="end_rule"
 
LABEL="end_rule"
 +
</pre>
  
 
=== 2. создать файл /usr/bin/mount_media  ===
 
=== 2. создать файл /usr/bin/mount_media  ===
 +
<pre>
 
#!/bin/sh
 
#!/bin/sh
 
#
 
#
Строка 69: Строка 71:
  
 
exit 0
 
exit 0
 +
</pre>
  
 
=== 3. Все должно работать. (при добавлении скрипта проверить пути)  ===
 
=== 3. Все должно работать. (при добавлении скрипта проверить пути)  ===
  
 
[[Категория:Udev]] [[Категория:Автомонтирование]]
 
[[Категория:Udev]] [[Категория:Автомонтирование]]

Текущая версия на 15:24, 18 октября 2015

Как сделать автомонтирование (после отказа от HAL) с помощью udev и без использования оконных менеджеров[править]

Скрипт нашел на ([1])

1. создать файл /etc/udev/rules.d/10-local-usb-storage.rules следующего содержания[править]

SUBSYSTEM!="block", GOTO="end_rule"
KERNEL!="sd[b-z][0-9]", GOTO="end_rule"
ACTION=="add", RUN+="/usr/bin/mount_media %k plugdev"
ACTION=="remove", RUN+="/usr/bin/mount_media %k unplugdev"
LABEL="end_rule"

2. создать файл /usr/bin/mount_media[править]

#!/bin/sh
#
# License?
#

#
# UUID раздела
#
#PART_UUID="`/sbin/blkid -o value -s UUID /dev/${1}`"

#
# LABEL раздела
#
PART_LABEL=$(/sbin/blkid -p -o value -s LABEL /dev/${1} | /bin/sed 's/ /_/g')

#
# FS раздела
#
PART_FS=$(/sbin/blkid -o value -s TYPE /dev/${1})

#
# Проверить подключается устройство или отключается?
#
if [ "$2" = "plugdev" ]
then /bin/mkdir /media/${1}.${PART_LABEL}

#
# Определить, не смонтирован ли уже раздел?
#
# if [grep -e ${1} -e mount]
# then printf Всё смонтировано, я в отбой. && exit 0

case ${PART_FS} in

vfat)
/bin/echo /dev/${1} /media/${1}.${PART_LABEL} vfat shortname=lower,iocharset=utf8,noatime,users,dmask=000,fmask=111 0 0 >> /etc/fstab
/bin/mount /dev/${1}
;;

ntfs)
/bin/echo /dev/${1} /media/${1}.${PART_LABEL} ntfs-3g relatime,users,dmask=000,fmask=111 0 0 >> /etc/fstab
/bin/mount /dev/${1}
;;

*)
/bin/echo /dev/${1} /media/${1}.${PART_LABEL} auto users 0 0 >> /etc/fstab
/bin/mount /dev/${1}
;;

esac
else
/bin/umount -l /dev/${1}
/bin/rmdir --ignore-fail-on-non-empty "$(/usr/bin/awk "/${1}/ { print \$2 }" < /etc/fstab)"
/bin/sed "/\/dev\/${1}/d" -i /etc/fstab
fi

exit 0

3. Все должно работать. (при добавлении скрипта проверить пути)[править]