Ich möchte wissen, wie am einfachsten festgestellt werden kann (ohne Root-Berechtigung), ob ein Blockgerät (z. B. sdb
) oder ein Teil davon gemountet ist (und welcher Teil davon).
Das Überprüfen /proc/mounts
auf SDB reicht nicht aus, da sdb
LVM oder eine seiner Partitionen verwendet werden kann. Sie können überprüfen, /sys/block/sdb/sdb*/holders/
aber Sie erhalten dm-x
Einträge, die /dev/mapper
zur Überprüfung in Namen aufgelöst werden müssen /proc/mounts
. Möglich, aber wenn es eine einfachere Lösung gibt ... (für die kein Root-Privileg erforderlich sein sollte)
Antworten:
Dies ist im Wesentlichen eine Frage der Überprüfung einer ganzen Tüte Eckkoffer.
mount /dev/sda -o offset=1M /foo
) (Verwendung losetup -a)Dies sind nur die Beispiele, die ich mir anderthalb Minuten ausgedacht habe, um darüber nachzudenken. Ich bin sicher, es gibt ein Dutzend andere.
Dieses letzte Beispiel ist meines Erachtens das interessanteste und nur wenige wissen davon. Sie können ein Dateisystem ohne Verwendung von Partitionen bereitstellen. Geben Sie einfach den Startoffset an und Linux erstellt transparent ein Loopback-Gerät. Das obige Beispiel ergibt Folgendes:
Warum würdest du das tun? In der Regel handelt es sich dabei um Situationen, in denen zuvor schreckliche Probleme aufgetreten sind.
Beachten Sie auch , dass mit der jetzt in der Hauptzeile enthaltenen Namespace-Funktion (siehe Freigabe ) unterschiedliche Prozesse unterschiedliche Ansichten darüber haben können, was gemountet ist und was nicht. Hier fängt es an, ein bisschen rote Pille zu bekommen.
quelle
Es gibt viel mehr Möglichkeiten, Geräte zu mounten. Alle können kombiniert werden. Es liegt also wie oft an Ihnen, dies herauszufinden.
dh was wird von lvm verwendet:
pvdisplay
Sie müssen also auch NFS, CIFS, RAID, Loop, Krypta usw. einschließen. Ein guter Ausgangspunkt ist immer
/proc/mounts
, wie Sie bereits erwähnt haben.quelle