Dove è montato il mio / tmp?


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

Volevo verificare se la mia installazione Debian predefinita si trova /tmpnella RAM o sul disco, ma ora sono completamente confusa. Perché un dispositivo inesistente dovrebbe essere segnalato come un tipo di filesystem? Cosa significa "montato su /"?

Ecco l'output di 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)

1
L'output sembra molto spartano. Per favore, pubblichi l'output del mountcomando?
Rui F Ribeiro,

/tmpè un mount point. La domanda che intendi porre è "Quale partizione / dispositivo è montato su / tmp?"
William Pursell,

E formularlo in questo modo (penso) chiarisce la tua confusione. /dev/rootè il dispositivo montato alla radice del filesystem ( /)
William Pursell l'

Risposte:


8

Se l'output è come sopra, è sul disco rigido. Puoi ottenere /dev/rootguardando la riga di comando del kernel:

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

Quindi /dev/rootequivale alla partizione con l'UUID stampato sopra; il tuo sarà diverso. Per cercare questo UUID, usa

$ 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" 

Come puoi vedere, la partizione corrispondente è /dev/sda1. Quindi il tuo /tmpè sul disco rigido. Un altro omaggio nell'output di dfè il mountpoint /. Se montassi /tmpnella RAM, otterrai invece

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

7

L'output di df /tmpfornisce la risposta: elenca le colonne "Montato su" /, quindi /tmpfa parte del filesystem su cui è montato /, ovvero il filesystem di root. Non è un filesystem separato.

Per essere più precisi, è necessario eseguire df /tmp/: se /tmpè un collegamento simbolico, quindi df /tmpelenca le informazioni sulla posizione del collegamento simbolico, mentre df /tmp/elenca le informazioni sulla directory di destinazione.

La menzione /dev/rootnella colonna del dispositivo è dovuta al fatto che è elencata in /etc/mtab. Puoi trovare il dispositivo reale guardando /proc/mountscon </proc/mounts awk '$2 == "/" {print $1}'o findmnt /.


+1 per df /tmpe findmnt /.
Akhan,

0

df /path/to/target mostra quale filesystem contiene la destinazione della cartella, il totale dei byte, i byte utilizzati, la percentuale disponibile e il punto di montaggio.

Nell'esempio documentato in questa domanda, la cartella /tmp/si trova all'interno del filesystem etichettato root, che si trova sul dispositivo a blocchi /dev/sda1.

mount | grep targetmostrerà tutti i filesystem contenenti il ​​nome target come elencato in /etc/mtab. Se la cartella di destinazione non è un filesystem separato, mount non fornirà direttamente informazioni accurate.

Tuttavia, per sapere quale dispositivo contiene /tmp/, utilizzare dfper ottenere il nome del file system, ( /dev/root) e il punto di montaggio, ( /), quindi cercare l'output di mountper trovare il dispositivo o il punto di montaggio e determinare quale dispositivo a blocchi contiene quel file system.

È importante distinguere tra dispositivo e file system perché non esiste sempre una correlazione 1: 1. Il dispositivo a blocchi può essere partizionato e ogni partizione avrà un filesystem. Ogni partizione può avere un diverso tipo di filesystem. Ogni partizione ha il suo nome e UUID univoci e può avere alias.


-2

Per verificare ciò, mountè più appropriato. Puoi provarlo e grep il suo output su 'tmp'

Es :

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

Qui dice che la mia partizione /dev/shmè montata con tmpfs (archiviazione di file temporanea, cioè nella RAM). Se la tua partizione non è montata con tmpfs, allora non è nella memoria volatile.


Mi aspettavo di vedere tmpfs on /tmp.
Vorac,

Al contrario, dffornisce direttamente le informazioni, mentre mount | grepnon le fornisce in modo affidabile (mancherebbero casi in cui /tmpè un collegamento simbolico e non funzionerebbe per qualcosa di simile /var/tmpdal momento che /varo /var/tmppotrebbe essere un punto di montaggio).
Gilles 'SO- smetti di essere cattivo' il

mountfondamentalmente stampa il contenuto del file mtab ( /etc/mtab). Questo mostra solo i filesystem montati. Se la cartella di destinazione non è un filesystem separato, non la troverai usando mount. Tuttavia, se lo usi df /path/to/target, ti dirà in modo positivo quale dispositivo a blocchi contiene la cartella di destinazione e dove è montato quel dispositivo. È quindi possibile utilizzare mounto altri strumenti per determinare che tipo di filesystem è e altre informazioni. Nell'esempio di OP, il tuo suggerimento non mostrerà dove è montata la cartella / tmp /, poiché il suo / tmp / non è un filesystem separato, ma parte di /.
Xalorous,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.