Hallo,
mithilfe von udev kann man einiges in Sachen Geräte- und Hardwaresteuerung machen.
udev – Wikipedia
Als Beispiel:
mich hat es genervt, dass wenn ich bei KDE 4.1 über die Geräteüberwachung in der Taskleiste meine externe Festplatte mounten wollte, immer Dolphin mit dem Inhalt der Festplatte geöffnet wurde. Außerdem wollte ich etwas dazu lernen, also hab' ich mal geschaut, wie man diese Geräteüberwachung von KDE umgehen kann.
Wenn man nicht möchte, dass automatisch gemountet wird, man aber als User die Möglichkeit haben möchte zu mounten, bietet sich pmount an: http://www.pc-forum24.de/linux-howto...-x-11-0-a.html
Möchte man, dass automatisch gemountet wird kann man das mithilfe einer udev-Regel lösen. Eine udev-Regel (bzw. udev-rule) besteht eigentlich nur aus einer Zeile. Das Prinzip ist recht einfach:
Wenn x passiert, dann tue y
In meinem Fall also: Wird die Festplatt angehängt, dann mounte sie mit User-Rechten.
Die erste Schwierigkeit dabei ist herauszufinden, wie man die Festplatte eindeutig identifizieren kann. Nach dem Anstöpseln der Festplatte kann man die wichtigen Parameter per
Code:
dmesg | tail -n 25
bzw.
sudo cat /var/log/messages | tail -n 25
herausfinden.
Bzw. wenn man genau weiß nach was man sucht bietet es sich an von Textkommandobefehlen gebrauch zu machen, wie zum Beispiel grep:
Code:
benne@linux-rsm7:~> sudo cat /var/log/messages | tail -n 25 | grep idVendor
Mar 4 16:09:19 linux-rsm7 kernel: usb 2-3: New USB device found, idVendor=04cf, idProduct=8818
Wenn also ein USB-Device mit idVendor 04cf auf einmal gefunden wird, dann soll gemountet werden. Na dann los! In /etc/udev/rules.d wird als root z.B. die Datei
Code:
00-myharddrive.rules
angelegt. Wie die Regel heißt ist im Prinzip egal, wichtig ist, dass sie mit einer zweistelligen Zahl beginnt. Dabei wird bei der Regel mit der niedrigsten Zahl immer zuerst geschaut, ob etwas für ein bestimmtes Ereignis zu tun ist.
Wie sieht jetzt also die Regel aus?
Bei mir funktioniert folgendes:
Code:
SUBSYSTEMS=="usb", KERNEL=="sd?1", ATTRS{idVendor}=="04cf", RUN+="/bin/mount -t vfat -o uid=benne,gid=users /dev/sdb1 /media/Festplatte" Zwei Gleichheitszeichen ( == ) beschreiben einen Vergleich, ein Gleichheitszeichen ( = ) eine Zuweisung und += ein auszuführenden Befehl.
Wenn also ein USB-Device mit idVendor=="04cf" gefunden wird, dann soll der o.g. mount-Befehl ausgeführt werden. (Username und Gruppenzugehörigkeit sind ggf. anzupassen ;> )
Zum Schluss muss udev einmal neugestartet werden
Code:
/etc/init.d/boot.udev restart
Wer mehr über udev erfahren möchte:
- udev – Wikipedia
- man udev
- oder einfach Google (o.a. Suchmaschinen) befragen ;>
Schönen Gruß,
benne
Lesezeichen