Où est monté mon / 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

Je voulais vérifier si mon installation Debian par défaut se place /tmpdans la RAM ou sur le disque, mais je suis maintenant complètement confus. Pourquoi un périphérique inexistant serait-il signalé comme type de système de fichiers? Que signifie "monté sur /"?

Voici la sortie de 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
la source
1
La sortie semble très spartiate. Souhaitez-vous s'il vous plaît publier la sortie de la mountcommande?
Rui F Ribeiro
/tmpest un point de montage. La question que vous voulez poser est "Quelle partition / périphérique est monté sur / tmp?"
William Pursell
Et le formuler de cette façon (je pense) clarifie votre confusion. /dev/rootest le périphérique monté à la racine du système de fichiers ( /)
William Pursell

Réponses:

8

Si la sortie est comme ci-dessus, c'est sur le disque dur. Vous pouvez obtenir /dev/rooten regardant la ligne de commande du noyau:

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

/dev/rootEst donc équivalent à la partition avec l'UUID imprimé ci-dessus; le vôtre sera différent. Pour rechercher cet UUID, utilisez

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

Comme vous pouvez le voir, la partition correspondante est /dev/sda1. Vous êtes donc /tmpsur le disque dur. Un autre cadeau dans la sortie de dfest le point de montage /. Si vous montiez /tmpdans la RAM, vous obtiendriez plutôt

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

La sortie de df /tmpdonne la réponse: la colonne «Monté sur» répertorie /, fait donc /tmppartie du système de fichiers qui est monté /, c'est-à-dire le système de fichiers racine. Ce n'est pas un système de fichiers distinct.

Pour être plus précis, vous devez exécuter df /tmp/: if /tmpest un lien symbolique, puis df /tmprépertorie les informations sur l'emplacement du lien symbolique, tandis que df /tmp/répertorie les informations sur le répertoire cible.

La mention de /dev/rootdans la colonne de l'appareil est due à sa liste dans /etc/mtab. Vous pouvez trouver le vrai appareil en regardant /proc/mountsavec </proc/mounts awk '$2 == "/" {print $1}'ou findmnt /.

Gilles 'SO- arrête d'être méchant'
la source
+1 pour df /tmpet findmnt /.
akhan
0

df /path/to/target indique quel système de fichiers contient la cible du dossier, le nombre total d'octets, les octets utilisés, le pourcentage disponible et le point de montage.

Dans l'exemple documenté dans cette question, le dossier /tmp/se trouve dans le système de fichiers étiqueté root, qui se trouve sur le périphérique de bloc /dev/sda1.

mount | grep targetaffichera tous les systèmes de fichiers contenant le nom cible comme indiqué dans /etc/mtab. Si le dossier cible n'est pas un système de fichiers distinct, le montage ne vous donnera pas directement des informations précises.

Cependant, pour savoir quel périphérique contient /tmp/, utilisez dfpour obtenir le nom du système de fichiers, ( /dev/root) et le point de montage, ( /), puis recherchez la sortie de mountpour trouver le périphérique ou le point de montage et déterminer quel périphérique de bloc contient ce système de fichiers.

Il est important de faire la distinction entre le périphérique et le système de fichiers car il n'y a pas toujours une corrélation 1: 1. Le périphérique de bloc peut être partitionné et chaque partition aura un système de fichiers. Chaque partition peut avoir un type de système de fichiers différent. Chaque partition a son propre nom unique et son UUID et peut avoir des alias.

Xalorous
la source
-2

Pour vérifier cela, mountest plus approprié. Vous pouvez l'essayer et grep sa sortie sur 'tmp'

Ex :

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

Ici, il est dit que ma partition /dev/shmest montée avec tmpfs (stockage de fichiers temporaires, c'est-à-dire en RAM). Si votre partition n'est pas montée avec tmpfs, elle n'est pas dans la mémoire volatile.

fduff
la source
Je m'attendais à voir tmpfs on /tmp.
Vorac
Au contraire, dfdonne les informations directement, alors mount | grepqu'il ne donne pas les informations de manière fiable (il manquerait les cas où /tmpest un lien symbolique, et cela ne fonctionnerait pas pour quelque chose comme /var/tmppuisque l'un /varou l' autre ou /var/tmppourrait être un point de montage).
Gilles 'SO- arrête d'être méchant'
mountaffiche essentiellement le contenu du fichier mtab ( /etc/mtab). Cela montre uniquement les systèmes de fichiers montés. Si le dossier cible n'est pas un système de fichiers distinct, vous ne le trouverez pas en utilisant mount. Cependant, si vous utilisez df /path/to/target, il vous indiquera positivement quel périphérique de bloc contient le dossier cible et où ce périphérique est monté. Vous pouvez ensuite utiliser mountou d'autres outils pour déterminer de quel type de système de fichiers il s'agit et d'autres informations. Dans l'exemple d'OP, votre suggestion ne montrera pas où le dossier / tmp / est monté, car son / tmp / n'est pas un système de fichiers séparé, mais une partie de /.
Xalorous