Wo ist mein / tmp montiert?

9
$ df /tmp
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/root      480589544 42607368 413546516  10% /

$ ls /dev/root
ls: cannot access /dev/root: No such file or directory

Ich wollte überprüfen, ob sich meine Standard-Debian-Installation /tmpim RAM oder auf der Festplatte befindet, bin aber jetzt völlig verwirrt. Warum wird ein nicht vorhandenes Gerät als Dateisystemtyp gemeldet? Was bedeutet "montiert auf /"?

Hier ist die Ausgabe von mount:

/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=811520k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1013960,mode=755)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1623020k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
none_debugfs on /sys/kernel/debug type debugfs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k)
cgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,size=100k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=811520k,mode=700,uid=1000,gid=1000)
Vorac
quelle
1
Die Ausgabe wirkt sehr spartanisch. Würden Sie bitte die Ausgabe des mountBefehls posten ?
Rui F Ribeiro
/tmpist ein Einhängepunkt. Die Frage, die Sie stellen möchten, lautet: "Welche Partition / welches Gerät ist auf / tmp gemountet?"
William Pursell
Und wenn Sie es so formulieren (glaube ich), wird Ihre Verwirrung klarer. /dev/rootist das Gerät im Stammverzeichnis des Dateisystems ( /) gemountet
William Pursell

Antworten:

8

Wenn die Ausgabe wie oben ist, befindet sie sich auf der Festplatte. Sie können sich /dev/rootdie Kernel-Befehlszeile ansehen:

$ cat /proc/cmdline | grep root
BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=0cde5cf9-b15d-4369-b3b1-4405204fd9ff ro

So /dev/rootentsprechen die Partition mit dem UUID gedruckt oben; Ihr Wille unterscheidet sich. Verwenden Sie zum Nachschlagen dieser UUID

$ sudo blkid
/dev/sda1: UUID="0cde5cf9-b15d-4369-b3b1-4405204fd9ff" TYPE="ext4" 
/dev/sda5: UUID="37bc6a9c-a27f-43dc-a485-5fb1830e1e42" TYPE="swap" 
/dev/sdb1: UUID="177c3cec-5612-44a7-9716-4dcba27c69f9" TYPE="ext4" 

Wie Sie sehen können, ist die passende Partition /dev/sda1. Sie befinden sich /tmpalso auf der Festplatte. Ein weiteres Werbegeschenk in der Ausgabe von dfist der Mountpoint /. Wenn Sie /tmpim RAM gemountet haben , erhalten Sie stattdessen

$ df /tmp
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs            3640904    20   3640884   1% /tmp
s3lph
quelle
7

Der Ausgang der df /tmpgibt die Antwort: die Spalte Listen „auf Mounted“ /, so /tmpTeil des Dateisystems ist , dass die montiert /, dh das Root - Dateisystem. Es ist kein separates Dateisystem.

Um genauer zu sein, sollten Sie Folgendes ausführen df /tmp/: Wenn /tmpes sich um einen symbolischen Link handelt, werden df /tmpInformationen zum Speicherort des symbolischen Links df /tmp/aufgelistet , während Informationen zum Zielverzeichnis aufgelistet werden.

Die Erwähnung /dev/rootin der Gerätespalte ist darauf zurückzuführen, dass sie in aufgeführt ist /etc/mtab. Sie können das reale Gerät finden, indem Sie /proc/mountsmit </proc/mounts awk '$2 == "/" {print $1}'oder nachsehen findmnt /.

Gilles 'SO - hör auf böse zu sein'
quelle
+1 für df /tmpund findmnt /.
Akhan
0

df /path/to/target Zeigt an, welches Dateisystem das Ordnerziel, die Gesamtzahl der Bytes, die verwendeten Bytes, den verfügbaren Prozentsatz und den Einhängepunkt enthält.

In dem in dieser Frage dokumentierten Beispiel /tmp/befindet sich der Ordner im beschrifteten Dateisystem rootauf dem Blockgerät /dev/sda1.

mount | grep targetzeigt alle Dateisysteme an, die das Namensziel enthalten, wie in aufgeführt /etc/mtab. Wenn der Zielordner kein separates Dateisystem ist, erhalten Sie von mount nicht direkt genaue Informationen.

Um jedoch zu wissen, was das Gerät enthält /tmp/, dfrufen Sie den Dateisystemnamen ( /dev/root) und den Einhängepunkt ( /) ab und durchsuchen Sie die Ausgabe von mount, um das Gerät oder den Einhängepunkt zu finden und festzustellen, welches Blockgerät dieses Dateisystem enthält.

Es ist wichtig, zwischen Gerät und Dateisystem zu unterscheiden, da nicht immer eine 1: 1-Korrelation besteht. Das Blockgerät kann partitioniert werden und jede Partition verfügt über ein Dateisystem. Jede Partition kann einen anderen Dateisystemtyp haben. Jede Partition hat ihren eigenen eindeutigen Namen und ihre eigene UUID und kann Aliase haben.

Xalorous
quelle
-2

Um dies zu überprüfen, mountist besser geeignet. Sie können es versuchen und die Ausgabe auf 'tmp' überprüfen.

Bsp .:

$  mount | grep tmp
tmpfs on /dev/shm type tmpfs ...

Hier heißt es, dass meine Partition /dev/shmmit tmpfs (temporärer Dateispeicher, dh im RAM) gemountet ist . Wenn Ihre Partition nicht mit tmpfs gemountet ist, befindet sie sich nicht im flüchtigen Speicher.

fduff
quelle
Ich hatte erwartet zu sehen tmpfs on /tmp.
Vorac
Im Gegenteil, dfgibt die Informationen direkt an, während mount | grepsie die Informationen nicht zuverlässig wiedergeben (es würden Fälle übersehen, in denen /tmpes sich um eine symbolische Verknüpfung handelt, und es würde für so etwas wie /var/tmpentweder nicht funktionieren /varoder /var/tmpkönnte ein Einhängepunkt sein).
Gilles 'SO - hör auf böse zu sein'
mountdruckt im Grunde den Inhalt der mtab-Datei ( /etc/mtab). Dies zeigt nur gemountete Dateisysteme. Wenn der Zielordner kein separates Dateisystem ist, können Sie ihn nicht mit mount finden. Wenn Sie jedoch verwenden df /path/to/target, wird Ihnen positiv mitgeteilt, welches Blockgerät den Zielordner enthält und wo dieses Gerät bereitgestellt ist. Sie können dann mountoder andere Tools verwenden, um festzustellen, um welche Art von Dateisystem es sich handelt, und um andere Informationen. Im Beispiel von OP zeigt Ihr Vorschlag nicht an, wo der Ordner / tmp / bereitgestellt ist, da sein / tmp / kein separates Dateisystem ist, sondern Teil von /.
Xalorous