четверг, 18 августа 2011 г.
воскресенье, 14 августа 2011 г.
поработали тягачом
Ехали вчера на дачу. Ночью, часа в два. Дождь. И перед Новинкой на крутом повороте обнаружили в канаве кювета машинку и двух парней, бродящих вокруг неё. Они удачно сверзились в яму, не покарябав машину, но выехать сами не могли.
Вот и поработали первый раз в жизни тягачом, вытянув их и ямы, благо трос есть :) Зацепили за крюк под мордой и спокойно без усилий вытянул.
На следующий день, уезжая, сфоткал это место. Левее знака крутого поворота они и лежали.
Вот и поработали первый раз в жизни тягачом, вытянув их и ямы, благо трос есть :) Зацепили за крюк под мордой и спокойно без усилий вытянул.
На следующий день, уезжая, сфоткал это место. Левее знака крутого поворота они и лежали.
среда, 10 августа 2011 г.
centos usb drive automount (udev)
Настроил тут на работе хост под торренты на centos 6. Т.к. временами к нему подключается usb-винт для скидывания информации, то захотелось настроить так, чтобы этот диск автоматически монтировался куда надо, а при выдергивании - размонтировался. Поиск в инете долго не мог дать мне искомого, поэтому запишу себе на будущее, как это делается.
Делается средствами udev, достаточно просто. Есть правило, которое реагирует на все диски /dev/sd[e-z][1-9] (потому как четыре диска sda,sdb,sdc,sdd в системе уже присутствуют). Для такого диска программой blkid загружается информация о нем (нас интересуют метка диска и файловая система), на основе метки диска задается директория, куда он будет смонтирован. На основе файловой системы формируются опции для монтирования и команда монтирования.
Дальше срабатывает команда монтирования.
При извлечении диска он отмонтируется и директория, куда он монтировался, удаляется. Все просто и понятно :)
Я в процессе поиска решения модифицировал под себя подобный набор правил udev, все заработало, но хотелось еще красивого создания/удаления точек монтирования при условии, что диск может и не иметь метки и тогда он монтируется по имени своего устройства. И тут наткнулся на вот этот набор правил, который радостно и подогнал под себя. Где взял - уже не помню...
Делается средствами udev, достаточно просто. Есть правило, которое реагирует на все диски /dev/sd[e-z][1-9] (потому как четыре диска sda,sdb,sdc,sdd в системе уже присутствуют). Для такого диска программой blkid загружается информация о нем (нас интересуют метка диска и файловая система), на основе метки диска задается директория, куда он будет смонтирован. На основе файловой системы формируются опции для монтирования и команда монтирования.
Дальше срабатывает команда монтирования.
При извлечении диска он отмонтируется и директория, куда он монтировался, удаляется. Все просто и понятно :)
KERNEL!="sd[e-z][1-9]", GOTO="ro_auto_mount_end" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N" # Get a label if present, otherwise specify one ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="storage-%k" # Global mount options ACTION=="add", ENV{mount_options}="rw,noauto,user,noexec,nodev,noatime,uid=t,gid=t" # Filesystem-specific mount options ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="$env{mount_options},umask=002" ACTION=="add", ENV{ID_FS_TYPE}=="msdos", ENV{mount_options}="$env{mount_options},umask=002, quiet" ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="$env{mount_options},umask=002,flush,quiet" ACTION=="add", ENV{ID_FS_TYPE}=="xfs", ENV{mount_options}="norecovery,$env{mount_options}" ACTION=="add", ENV{ID_FS_TYPE}=="jfs", ENV{mount_options}="nointegrity,$env{mount_options}" ACTION=="add", ENV{ID_FS_TYPE}=="reiserfs", ENV{mount_options}="nolog,$env{mount_options}" # Create the mount point ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}" # Mount the device # Special Mounts for ext3, ext4 and hfs # Mount ext2 and ext3 as ext2 ACTION=="add", ENV{ID_FS_TYPE}=="ext2|ext3", RUN+="/bin/mount -t ext2 -o $env{mount_options} /dev/%k /media/%E{dir_name}", GOTO="mount_complete" # Mount hfs and hfsplus as hfsplus ACTION=="add", ENV{ID_FS_TYPE}=="hfs|hfsplus", RUN+="/bin/mount -t hfsplus -o $env{mount_options} /dev/%k /media/%E{dir_name}", GOTO="mount_complete" # Execute mount with no fstype specified (auto) ACTION=="add", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" # Clean up after removal ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" # Exit LABEL="mount_complete" LABEL="ro_auto_mount_end"
Я в процессе поиска решения модифицировал под себя подобный набор правил udev, все заработало, но хотелось еще красивого создания/удаления точек монтирования при условии, что диск может и не иметь метки и тогда он монтируется по имени своего устройства. И тут наткнулся на вот этот набор правил, который радостно и подогнал под себя. Где взял - уже не помню...
Подписаться на:
Сообщения (Atom)