Mounten einer USB-Festplatte an einem festen Ort

13

Ich habe eine USB-Festplatte, die ich beim Booten an einem bestimmten Ort einbinden möchte. Wie kann ich dieses Laufwerk bereitstellen und verfügbar bleiben (z. B. für lokale Sicherungen usw.), obwohl niemand angemeldet ist?

Es scheint, dass udev oder etwas ähnliches die Scheibe greift. Wenn ich einen Eintrag in / etc / fstab schreibe, der versucht, diese Festplatte spezifisch (über die UUID) zu mounten, geraten dieser Mount-Prozess und der udev-Mount-Prozess in einen Kampf und die Festplatte wird nicht gemountet.

Don Faulkner
quelle
Können Sie die Zeile hinzufügen, die Sie hinzugefügt haben /etc/fstab? Gibt es Protokollmeldungen, wenn Sie Ihr Laufwerk anschließen? Vielleicht hilft es, die Anmeldestufe zu erhöhen /etc/udev/udev.conf.
qbi
Wie sieht die fstab Linie aus? Es sollte ungefähr so ​​aussehen "UUID = 48a26dbe-e707-4e45-bd55-fc7936292ee1 / data ext4 errors = remount-ro 0 2"
LassePoulsen

Antworten:

7

Hängen Sie den Datenträger mit udev ein. Platzieren Sie die Regeln aus diesem Wiki in /etc/udev/user.rulesund starten Sie neu (oder schließen Sie die USB-Festplatte erneut an). Es gibt verschiedene Arten von Regeln im Wiki (deshalb habe ich sie hier nicht aufgelistet). Wählen Sie die aus, die Ihren Anforderungen am besten entspricht (z. B. Sie benötigen einen bestimmten normalen Benutzer, um die Bereitstellung aufzuheben).

Durchsuchen /lib/udev/rules.d/80-udisks.ruleshilft Ihnen zu verstehen, was udev mit Ihrer Festplatte macht.

Neben den oben genannten udev-Regeln gibt es meines Erachtens noch einen anderen Ansatz: Weisen Sie udisks (über udev) an, die Festplatte in Ruhe zu lassen und sie dann über fstab bereitzustellen.

Dieser Code funktioniert auf meinem System

ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"

ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"

KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

LABEL="my_udisks_end"

Ist aber generisch und beinhaltet alle Partitionen. Um auf Ihre Festplatte / Partition udevadm info --query=all -n /dev/sdXgezielt zugreifen zu können, verwenden Sie einige dieser Attribute in den udev-Regeln und passen Sie sie an.

Eine gute Ressource, um Ihnen dabei zu helfen, ist das Schreiben von udev-Regeln . Leider enthält es einige veraltete Informationen (udevinfo wurde ersetzt durch udevadm indo). Ich versichere Ihnen jedoch, es ist eine lohnende Lektüre - udev ist heutzutage ein zentrales Stück Architektur, und Sie können damit viel erreichen. Es ist auch ziemlich flexibel.

Es ist auch leicht, Fehler in udev-Regeln zu machen :). Verwenden Sie udevadm test $(udevadm info -q path -n /dev/sdX)diese Option , um einen Blick auf die Aktivitäten von udev zu werfen.

Li Lo
quelle
Genial. Das sieht sehr nach dem aus, wonach ich gesucht habe. Scheint, als hätte ich etwas zu lesen ...
Don Faulkner
1

Sie können versuchen, es mit / dev / ... anstatt mit der UUID zu referenzieren. Es ist höchstwahrscheinlich / dev / sdb *. Sie können dies überprüfen, indem Sie zu System -> Administration -> System Monitor gehen und auf die Registerkarte 'File Systems' klicken. Sie müssen zuerst das USB-Laufwerk einstecken und es automatisch einbinden lassen. Ersetzen Sie 'UUID = uuid' durch '/ dev / sdb *' in / etc / fstab. Es ist immer eine gute Idee, fstab zu sichern, bevor Sie es bearbeiten.

dv3500ea
quelle
4
Es ist eine schlechte Idee, Massenspeichergeräte direkt auf Geräteknoten zu verweisen! BIOS-Einstellungen und entfernte Geräte können die Gerätereihenfolge beeinträchtigen.
LassePoulsen
Sie haben wahrscheinlich Recht, aber ich hatte den Eindruck, dass die UUID jedes Mal neu generiert wird, wenn ein USB-Gerät entfernt und wieder angeschlossen wird. Dies würde bedeuten, dass fstab jedes Mal bearbeitet werden muss, wenn das Gerät entfernt und wieder angeschlossen wird.
dv3500ea
Eigentlich habe ich mich geirrt, UUID bleibt gleich.
dv3500ea
3
UUID ist die eindeutige ID des Dateisystems und hat nichts mit dem Busstandort oder dem Gerät zu tun. Es wird sogar überleben, wenn Sie ein gesamtes Dateisystem von einem Gerät auf ein anderes kopieren.
LassePoulsen
1
Die Dateisystem-Permanenz ist das, wonach ich mit mount-by-uuid gesucht habe. Dies ist mein "lokales Backup" -Gerät, und ich möchte, dass / backup (oder wo immer ich es einhänge) immer über dieses Dateisystem verfügt, auch wenn ich Geräte hinzufüge oder neu anordne. Das ist der Vorteil der By-UUID- oder By-Label-Montage.
Don Faulkner