
/dev/sdb1
Selbst wenn in Ubuntu verschiedene Blockgeräte (z. B. eine externe Festplatte und ein Flash-Laufwerk) nacheinander durch dieselbe Gerätedatei (z. B. ) dargestellt werden , werden sie automatisch an unterschiedlichen Einhängepunkten (z. B. /media/b/mydrive
und /media/b/myflashdrive
) eingehängt. Wie wird das erreicht? Woher kennt Ubuntu den „Namen“ jedes Geräts und verwendet diesen „Namen“, um seinen Einhängepunkt zu benennen? ( /etc/fstab
deckt diese Plug-in-Geräte nicht ab.)
Wie kann ich das simulieren? Beim manuellen Mounten eines Blockgeräts führe ich aus
sudo mkdir /media/b/mountingpoint1
sudo mount -t ntfs /dev/sdb1 /media/b/mountingpoint1
sudo umount /media/b/mountingpoint1
sudo rmdir /media/b/mountingpoint1
Wenn ich das Gerät abtrenne und dann ein anderes Blockgerät anschließe, wird das neue Gerät wieder durch dieselbe Gerätedatei repräsentiert /dev/sdb1
und der obige Befehl hängt es am selben Einhängepunkt ein /media/b/mountingpoint1
. Ich brauche eine Möglichkeit, die Einhängepunkte für verschiedene Geräte unterschiedlich zu benennen.
Antwort1
werden durch die gleiche Gerätedatei repräsentiert (z. B. /dev/sdb1)
Der Trick ist, dass sienichtdargestellt durch dieselbe Gerätedatei: Zusätzlich zu dieser primären Gerätedatei, die vom Kernel verwaltete Buchstaben und Zahlen enthält, gibt es auch symbolische Links /dev/disk/by-*
, die beispielsweise den Datenträgernamen des Dateisystems, den Hersteller und das Modell der Festplatte oder den Gerätepfad enthalten.
Und diese symbolischen Links sollten Sie darin verwenden /etc/fstab
, nicht /dev/sdb1
usw.
Antwort2
(z. B.
/media/b/mydrive
und/media/b/myflashdrive
). Wie wird das erreicht? Woher kennt Ubuntu den „Namen“ jedes Geräts und verwendet diesen „Namen“, um seinen Einhängepunkt zu benennen? (/etc/fstab
deckt diese Plug-in-Geräte nicht ab.)
Das Mounten von Wechseldatenträgern erfolgt über UDisks, das auch den Mountpoint für diese erstellt, der (unter Ubuntu) immer im Format ist /media/<user>/<unique_id>
. Der letzte Teil ist entweder die Dateisystembezeichnung oder UUID, wenn das Dateisystem keine Bezeichnung hat. Wechseldatenträger und -laufwerke sind normalerweise vorformatiert und die Partition ist vom Hersteller beschriftet (z. B. hat mein Kingston-Flash-Laufwerk die VFAT-Partition mit der Bezeichnung KINGSTON
).
Sie können die Bezeichnung (und UUID) für Ihre Geräte mit abrufen lsblk -f
.
Wenn Sie ein Gerät manuell (nicht über die GUI) mounten und denselben Effekt erzielen möchten, können Sie verwenden udisksctl mount -b /dev/sdb1
.
Und wenn Sie (in Zukunft) fstab
zum automatischen Einhängen verwenden, sollten Sie immer UUID ( UUID=
) anstelle von verwenden /dev/sdb1
.