Wenn Sie in Raspberry keine grafische Oberfläche verwenden, wird es ärgerlich, unseren USB-Speicher immer wieder zu mounten. Während Sie diese Aktion automatisieren (was ich unten zeige), können Sie außerdem ein wenig darüber lernen, wie Linux mit Geräten umgeht.
Installieren Sie autofs und udev
Das erste, was wir tun werden, ist zu installieren autofs y udev
sudo apt-get install autofs udev
udev ist ein Linux-Kernel-Tool, das für die Verwaltung des Verzeichnisses / dev zuständig ist, in dem sich alle Geräte befinden. Mit autofs können wir nach der Konfiguration alle automatisch ein- und aushängen, sobald der USB verbunden oder getrennt wird.
Das erste, was wir tun werden, ist, unseren USB-Speicher (ich werde eine Marke von Kingston verwenden) in unserem Computer / Raspberry Pi anzuschließen. Dann führen wir aus:
sudo fdisk-l
wird eine ähnliche Ausgabe haben:
Disk / dev / mmcblk0: 15.7 GB ... Start-End-Blocks für Gerätestart ID System / dev / mmcblk0p1 2048 1607421 802687 und W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux erweitert / dev / mmcblk0p3 30613504 30679039 Linux … .. Disk / dev / sda: 32768 GB ... Start- / Endblöcke für Gerätestart ID-System / dev / sda83 30.9 1 2048 c W60436479 FAT30217216 (LBA)
Mein externer USB-Speicher hat 30.9 GB (dh / dev / sda1), während der SD-Speicher, auf dem Linux installiert ist, 15.7 GB hat.
Benutzerdefinierte Regeln in udev
Da wir wissen, dass sda1 unser Gerät ist, werden wir udev verwenden, um Informationen aus dem Speicher zu extrahieren. Daher führen wir den folgenden Befehl aus:
udevadm info -a -p $ (udevadm info -q Pfad -n / dev / sda1)
Es gibt Blöcke, die durch den Ausdruck "Betrachten des übergeordneten Geräts" / "Geräte / ..." getrennt sind.
Um die Suche ein bisschen einfacher zu machen, können wir grep verwenden, also mache ich Folgendes:
udevadm info -a -p $ (udevadm info -q Pfad -n / dev / sda1) | grep hersteller
In meinem Fall, da mein Gedächtnis ein Kingston ist, lautet die Ausgabe:
ATTRS {Hersteller} == "Kingston" # 1 ATTRS {Hersteller} == "Linux 3.12.28+ dwc_otg_hcd"
oder wir können auch suchen:
udevadm info -a -p $ (udevadm info -q Pfad -n / dev / sda1) | grep model udevadm info -a -p $ (udevadm info -q Pfad -n / dev / sdd1) | grep Anbieter
Ich bin interessiert:
ATTRS {Hersteller} == "Kingston"
Da war der erste Zufall. In der Befehlsausgabe udevadm Ich suche nach dem Block, in dem es zuerst erscheint "ATTRS {Hersteller}"
In meinem Fall nehme ich einige Daten, die ich für eindeutig halte, vom Gerät eines Blocks:
ATTRS {product} == "xxx" ATTRS {serial} == "xxxx" DRIVERS == "usb"
Sie müssen nur die Regeln erstellen. Wir machen eine Datei in .rules in udev fertig:
sudo nano /etc/udev/rules.d/personal.rules
in die Datei, die wir setzen
ATTRS {product} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"
Wenn ich jetzt meinen USB-Anschluss verbinde, wird eine Datei / dev / miusb angezeigt. Dies war der schwierigste Teil.
Autofs einrichten
Wir führen aus:
sudo nano / etc / default / autofs
wo "TIMEOUT =" steht, setzen sie "TIMEOUT = 1"
Gehen wir zu /etc/auto.master
nano /etc/auto.master
und in die Datei setzen wir in die letzte Zeile:
/ media /etc/auto.misc
Jetzt gehen wir zu /etc/auto.misc
nano /etc/auto.master
und in der letzten Zeile schreiben wir:
mymemory -fstype = vfat, Benutzer, rw, umask = 000: / dev / miusb
Zum Schluss laden wir das autofs-Modul am Anfang:
sudo nano / etc / modules
und in der letzten Zeile schreiben wir:
autofs4
und voila, wir starten die Himbeere neu. Denken Sie daran, dass der Ordner nicht in / media vorhanden ist, sondern wenn wir a
CD / Medien / Speicher
wir sind schon drinnen Wenn wir es nicht mehr verwenden, verschwindet der Ordner und wir können das Gerät entfernen, ohne es manuell abzuhängen.
danke fürs posten 🙂
Ich denke, es gibt einen Fehler, beim Bearbeiten von auto.misc wird auto.master in den Code geschrieben, falls jemand, der es nicht ahnt, es tut und es nicht merkt 🙂
Danke, ich wollte es nur auf Raspbian machen, ich habe Arch schon einmal benutzt und es war einfacher.
Sehr gut, dass ich mich damit beschäftigen musste, als ich meinen Pi als Torrent-Client mit von Samba gemeinsam genutzten Verzeichnissen platzierte.
Das fstab-Handbuch besagt, dass es etwas robuster ist, die Beschriftung des Geräts mit # blkid zu überprüfen. In meinem Fall habe ich bei jedem Start eine automatisch bereitgestellte Windows-Partition wie folgt:
/ Dev / sda2
UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto, Standardeinstellung 0 2
Auf der Himbeere habe ich ein LVM montiert, ich erinnere mich nicht gut an die Konfiguration.
Gemäß dem Handbuch können Sie # fdisk -l verwenden, um die Laufwerksnummer und den Buchstaben abzurufen, und # blkid, um zu wissen, welche Bezeichnung welchem Laufwerk entspricht.
Grüße.
[Aktualisieren]
Dieses Etikett ergibt sich aus der Tatsache, dass es Leute (wie mich) gibt, die sich faul fühlen, ein Volume bei jedem Ausschalten des Computers zu trennen. Das Problem besteht darin, dass Sie mehrere Volumes haben, da es nach mehreren Neustarts nicht immer in derselben Reihenfolge bereitgestellt wird . Dies hat übrigens den Nachteil, dass beim Entfernen des Geräts, das der zugewiesenen Bezeichnung für automount entspricht, ein Fehler ausgegeben wird und das Laden von / home nicht möglich ist, falls die Partition auf home gemountet ist. Dies kann gelöst werden, indem das Gerät auskommentiert wird, was zu Konflikten in fstab führt, oder indem das Gerät erneut verbunden wird