Automount USB-Laufwerke ohne GUI-Anforderung (halevt Ersatz)

8

Für minimale Installationen von Debian habe ich verwendet halevt, um die automatische Bereitstellung von USB-Laufwerken zu ermöglichen. Halevtist zuverlässig und erfordert keine Konfiguration außer der Installation des Pakets. Jetzt wurde halevtaus Debian Testing entfernt und ich suche nach einem Ersatz, aber keine der Alternativen scheint so einfach zu sein.

Welches Dienstprogramm für die automatische Bereitstellung von USB-Laufwerken ist das leichteste, einfachste und stabilste?

EDIT: Ich konnte udev nie so arbeiten lassen, wie ich es wollte. Das Problem ist, dass udev-Regeln immer als root ausgeführt werden, sodass Medien als root bereitgestellt werden. Es ist möglich, das Mounten als bestimmter Benutzer fest zu codieren, aber es scheint, dass Sie keine Regel erstellen können, die als aktueller Benutzer bereitgestellt wird. Laut Dokumentation sollte es mit dem MODE-Wert möglich sein, aber es scheint nicht in Debian implementiert zu sein. Wenn also Automounting erforderlich ist, muss ich immer noch halevt verwenden. Ansonsten benutze ich pmount.

user5184
quelle
Mit minimal meine ich wohl kein X und Gnome / KDE?
Mikel
1
Die Debian-Installation ohne Desktop-Umgebung und Systemdienste. Also mit X aber ohne GNOME / KDE.
user5184
Hmm, im Moment Halevtist es stabil, prüfend und instabil.
Faheem Mitha

Antworten:

3

Die festplattenbasierten Funktionen von HAL wurden durch udev und udisks ersetzt .

Es gibt ein komplettes Beispiel dafür , wie udev zu verwenden , um dies zu tun , auf der Automounting udisks Wrapper Seite:

/etc/udev/rules.d/11-media-by-label-auto-mount.rules

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_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}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", 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="media_by_label_auto_mount_end"

Weitere Informationen zu udev:

Es gibt auch einige Optionen, die auf udisks basieren und das neue Äquivalent von halevt darstellen:

Ich konnte keine davon im Test-Repository finden , daher müssen Sie möglicherweise ein passendes Repository eines Drittanbieters finden oder deren Anweisungen folgen, um die Software auf Ihrem eigenen Computer zu kompilieren.

Mikel
quelle
Ich hoffe auf eine einfache Lösung wie halevt, nur "Installiere <Paket> und du bist fertig." Ich muss mir diese Pakete ansehen.
user5184
Kopieren Sie den obigen Code, fügen Sie ihn in die vorgeschlagene Datei (/etc/udev....rules) ein und hoffentlich sind Sie fertig.
Mikel
Ich habe dies auf zwei Debian-Computern versucht, aber es funktioniert nicht gut. 1. Alle Geräte sind montiert als root. 2. Das automatische Aufheben der Bereitstellung schlägt manchmal fehl und ein Knoten bleibt durch einen Neustart erhalten. 3. Einige nicht mit Strom versorgte Laufwerke werden überhaupt nicht gemountet. 4. Mehrmals fehlgeschlagene Übertragung von Dateien. Ich hatte keines dieser Probleme mit halevt.
user5184
2

Wenn Sie hal nicht verwenden möchten, können Sie eine udev-Regel verwenden, um Ihre Laufwerke automatisch bereitzustellen. Das Arch Wiki hat hier einen guten Artikel über Regeln:

https://wiki.archlinux.org/index.php/Udev#Auto_mounting_USB_devices

Sie könnten auch versuchen, etwas wie udiskie (es ist in der AUR) zu verwenden:

https://wiki.archlinux.org/index.php/Udiskie

Es gibt auch ein Skript zum Integrieren von udiskie in Ihr Openbox-Menü .

Jasonwryan
quelle
Danke, das hilft sehr! Ich habe die Arch-Dokumentation für Udev gelesen, aber sie erklärt nicht wirklich, wie man genau seine eigenen Regeln schreibt, was mich ein bisschen ärgert, weil ich verstehen möchte, was es tut, bevor ich es einfach kopiere und einfüge. Ich werde es versuchen raus und sehen, ob es meine Sachen montiert. Was bringt es übrigens, HAL gegenüber Udev zu verwenden oder umgekehrt?
Kelinu
HAL ist veraltet und wird nicht mehr entwickelt. Daher müssen Sie später oder später zu anderen Vereinbarungen wechseln. Die erste Regel auf der Wiki-Seite sollte das erreichen, wonach Sie
suchen
OK, danke ... Ich bleibe dann bei Udev und ich werde diese Regel richtig funktionieren lassen
Kelinu
1

Sie sollten wahrscheinlich versuchen, Ihre eigenen udev-, hal- oder hotplug-Regeln einzurichten, um Laufwerke automatisch bereitzustellen und sogar Befehle auszuführen, wenn sie eine Verbindung herstellen. Sie könnten auch in pmount schauen .

Es gibt einige Automounter für Linux. Sie müssen nur herausfinden, was am besten zu Ihrer Arbeit passt.

Beachten Sie auch, dass Sie viele Teile von den größeren DEs wie Gnome ausführen können, ohne die gesamte Funktion auszuführen. Sie sollten in der Lage sein, gnome-volume-manager getrennt von der Verwendung für Ihre Sitzung zu verwenden.

Caleb
quelle
Ich denke, udev ist ein Automounter, oder? Ich habe das standardmäßig mit Arch Linux installiert, bin mir aber nicht sicher, wie es funktioniert ... hat jemand einen Einblick in dieses Thema?
Kelinu
Ja. Probieren Sie die ArchLinux Udev-Dokumente aus .
Caleb
Ist gnome-volume-manager übrigens auch eine Art proprietärer Automounter?
Kelinu
1
Ihre Verwendung des Adjektivs "proprietär" macht nicht viel Sinn, da Gnome auch Open Source ist, aber ja, GVM ist nur ein bisschen schicker Automount-Wrapper um pmount.
Caleb