Автоматично свързване на флаш устройства в Linux с udev

Имам два твърди диска - / dev/sda и / dev/sdb, и флашка. След като свържете флаш устройството към компютъра, в системата се появява ново устройство - / dev/sdc. Може да се отвори в fdisk и създайте нов дял и след това създайте файлова система върху него и го монтирайте някъде: А сега, относно автоматизирането.

В удобните за разпространение автоматични кабели работят нестандартно и потребителят може да не знае как се прави там. Но трябва да знаете как да настроите автоматичното монтиране на флашки, ако работите не с DE, а с обикновен WM или дори в конзолата. Методът за автоматично свързване, описан по-долу, ще работи независимо от използвания диспечер на прозорци и дори без стартиране на X.

Преди автоматизиране беше извършено с помощта на HAL, но сега той пусна кънките и е по-правилно да се използва конфигуриране на автоматично свързване чрез udev. Ще говорим за това.

Долният ред е да се каже на udev да изпълни необходимата команда при някакво специално събитие. В нашия случай това е монтиране на USB флаш устройство. Можете да направите това, като създадете правило udev. Правилата на Udev са в /etc/udev/rules.d/ . Може да забележите, че там вече има няколко файла с правила. Имената на тези файлове обикновено започват с цифри. Това е така, защото udev чете файловете с правила по азбучен ред. Тези. udev чете файла 10-test.rules преди 30-blabla.rules. Друго важно нещо, което трябва да запомните, е, че когато udev намери първото правило, което съответства на събитие, спира по-нататъшното търсене.

Всичко, което трябва да направим, е да добавим следните редове към файла /etc/udev/rules.d/10-automount.rules. Всъщност името може да е каквото и да е, но започва с десет, така че правилото се чете преди другите.

Нека разгледаме това по ред. Първо, запомнете - едно правило - един ред. В нашия файл има две правила - едното за монтиране на USB флаш устройство, когато го свързвате към компютър, и второто за демонтирането му при изключване.

ПОДСИСТЕМА == "блокиране" обозначава класа на блоковите устройства. КЕРНЕЛ == "sd *" - този шаблон филтрира устройства по име. Можете да използвате KERNEL = "sd [c-z] *" или нещо подобно. ДЕЙСТВИЕ == "добавяне" - устройство за добавяне на събитие. RUN + = "/ bin/mount/dev/sdc1/mnt/flash" - тази опция указва коя команда да се изпълни. За да бъда честен, това не е най-добрият вариант, но най-лесният.