Правила udev
Приветствую всех! Не могу понять почему на отрабатывает скрипт на remove, хотя при этом отрабатывает на add. 1) /etc/udev/rules.d/010_test_remount_add.rules : BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, ACTION==add, NAME=%k, RUN+=/usr/local/bin/mount_test.sh add %k BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, ACTION==remove, NAME=%k, RUN+=/usr/local/bin/mount_test.sh remove %k 2) mount_test.sh : #!/bin/sh MOUNT_DIR=/home/user/mount_dir sleep 3 if [ $1 == add ]; then if [ -d $MOUNT_DIR ]; then FLASH_DEV =`echo $2 | sed -n '/^sd[a-z][1-9]\?/p'` /bin/mount -t vfat /dev/$FLASH_DEV $MOUNT_DIR -o flush,rw,gid=disk,umask=007,iocharset=utf8 else mkdir $MOUNT_DIR chown user:user $MOUNT_DIR chmod 775 $MOUNT_DIR FLASH_DEV=`echo $1 | sed -n '/^sd[a-z][1-9]\?/p'` mount /dev/$FLASH_DEV $MOUNT_DIR -o flush,rw,gid=disk,umask=007,iocharset=utf8 fi elif [ $1 == remove ]; then /bin/umount /dev/$2 fi exit 0
Re: Правила udev
В Втр, 02/03/2010 в 11:39 +0600, Сергей С. пишет: Приветствую всех! Не могу понять почему на отрабатывает скрипт на remove, хотя при этом отрабатывает на add. 1) /etc/udev/rules.d/010_test_remount_add.rules : BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, ACTION==add, NAME=%k, RUN+=/usr/local/bin/mount_test.sh add %k BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, ACTION==remove, NAME=%k, RUN+=/usr/local/bin/mount_test.sh remove %k 2) mount_test.sh : #!/bin/sh MOUNT_DIR=/home/user/mount_dir sleep 3 Насколько мне помниться - этот скрипт должен работать как можно быстрее... if [ $1 == add ]; then if [ -d $MOUNT_DIR ]; then FLASH_DEV =`echo $2 | sed -n '/^sd[a-z][1-9]\?/p'` /bin/mount -t vfat /dev/$FLASH_DEV $MOUNT_DIR -o flush,rw,gid=disk,umask=007,iocharset=utf8 else mkdir $MOUNT_DIR chown user:user $MOUNT_DIR chmod 775 $MOUNT_DIR FLASH_DEV=`echo $1 | sed -n '/^sd[a-z][1-9]\?/p'` mount /dev/$FLASH_DEV $MOUNT_DIR -o flush,rw,gid=disk,umask=007,iocharset=utf8 fi elif [ $1 == remove ]; then /bin/umount /dev/$2 # интересно, какой смысл отмонтировать ФС если блочный девайс уже ИЗВЛЕЧЕН!? fi exit 0 ЗЫЖ да и вообще - фигня это всё! -- DamirX -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1267509222.887.12.ca...@everest.agg
Re: Правила udev
Насколько мне помниться - этот скрипт должен работать как можно быстрее... Этот момент можно пропустить. Важен факт отмонтирования. интересно, какой смысл отмонтировать ФС если блочный девайс уже ИЗВЛЕЧЕН!? Если не выполнить отмонтирование, то следующий девайс попытается примонтироваться в туже дирректорию + получит новое имя устройства sd[a-z][0-9], а их не так уж и много. 2 марта 2010 г. 11:53 пользователь DamirX damir.haki...@gmail.com написал: В Втр, 02/03/2010 в 11:39 +0600, Сергей С. пишет: Приветствую всех! Не могу понять почему на отрабатывает скрипт на remove, хотя при этом отрабатывает на add. 1) /etc/udev/rules.d/010_test_remount_add.rules : BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, ACTION==add, NAME=%k, RUN+=/usr/local/bin/mount_test.sh add %k BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, ACTION==remove, NAME=%k, RUN+=/usr/local/bin/mount_test.sh remove %k 2) mount_test.sh : #!/bin/sh MOUNT_DIR=/home/user/mount_dir sleep 3 Насколько мне помниться - этот скрипт должен работать как можно быстрее... if [ $1 == add ]; then if [ -d $MOUNT_DIR ]; then FLASH_DEV =`echo $2 | sed -n '/^sd[a-z][1-9]\?/p'` /bin/mount -t vfat /dev/$FLASH_DEV $MOUNT_DIR -o flush,rw,gid=disk,umask=007,iocharset=utf8 else mkdir $MOUNT_DIR chown user:user $MOUNT_DIR chmod 775 $MOUNT_DIR FLASH_DEV=`echo $1 | sed -n '/^sd[a-z][1-9]\?/p'` mount /dev/$FLASH_DEV $MOUNT_DIR -o flush,rw,gid=disk,umask=007,iocharset=utf8 fi elif [ $1 == remove ]; then /bin/umount /dev/$2 # интересно, какой смысл отмонтировать ФС если блочный девайс уже ИЗВЛЕЧЕН!? fi exit 0 ЗЫЖ да и вообще - фигня это всё! -- DamirX -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1267509222.887.12.ca...@everest.agg
Re: Правила udev
Сергей С. - debian-russian@lists.debian.org @ Tue, 2 Mar 2010 11:39:27 +0600: СС Приветствую всех! СС Не могу понять почему на отрабатывает скрипт на remove, хотя при этом СС отрабатывает на add. Не отрабатывает - это не запускается или не отмонтирует? Если второе, то видимо, man umount на предмет -f, -l и, может быть, -i. Но вообще да, идея отмонтировать после выдергивания устройства - она, гм, мина замедленного действия. На FAT, конечно, не столь FATально, как на более толковых файловых системах, но все же... Кстати, в скрипте в ветке, когда add и директория не существует, ошибка. Вместо $1 должно быть $2. А все почему? А все потому, что код монтирования дублировать не надо. СС 1) /etc/udev/rules.d/010_test_remount_add.rules : СС BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, СС ACTION==add, NAME=%k, RUN+=/usr/local/bin/mount_test.sh add %k СС BUS==usb, SUBSYSTEM==block, KERNEL==sd[a-z][0-9], GROUP==disk, СС ACTION==remove, NAME=%k, RUN+=/usr/local/bin/mount_test.sh remove %k СС 2) mount_test.sh : СС #!/bin/sh СС MOUNT_DIR=/home/user/mount_dir СС sleep 3 СС if [ $1 == add ]; then СС if [ -d $MOUNT_DIR ]; then СС FLASH_DEV =`echo $2 | sed -n '/^sd[a-z][1-9]\?/p'` СС /bin/mount -t vfat /dev/$FLASH_DEV $MOUNT_DIR -o СС flush,rw,gid=disk,umask=007,iocharset=utf8 СС else СС mkdir $MOUNT_DIR СС chown user:user $MOUNT_DIR СС chmod 775 $MOUNT_DIR СС FLASH_DEV=`echo $1 | sed -n '/^sd[a-z][1-9]\?/p'` СС mount /dev/$FLASH_DEV $MOUNT_DIR -o СС flush,rw,gid=disk,umask=007,iocharset=utf8 СС fi ССelif [ $1 == remove ]; then СС /bin/umount /dev/$2 ССfi СС exit 0 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/54750...@wizzle.ran.pp.ru