¿Dónde está montado mi / 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

Quería verificar si mi instalación predeterminada de Debian se encuentra /tmpen la RAM o en el disco, pero ahora estoy completamente confundido. ¿Por qué un dispositivo no existente se informa como un tipo de sistema de archivos? ¿Qué significa "montado en /"?

Aquí está la salida 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
fuente
1
La salida parece muy espartana. ¿Podría publicar el resultado del mountcomando?
Rui F Ribeiro
/tmpEs un punto de montaje. La pregunta que quiere hacer es "¿Qué partición / dispositivo está montado en / tmp?"
William Pursell
Y expresarlo de esa manera (creo) aclara tu confusión. /dev/rootes el dispositivo montado en la raíz del sistema de archivos ( /)
William Pursell

Respuestas:

8

Si el resultado es el anterior, está en el disco duro. Puede obtener /dev/rootmirando la línea de comandos del kernel:

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

Entonces /dev/rootes equivalente a la partición con el UUID impreso anteriormente; los tuyos serán diferentes. Para buscar este UUID, use

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

Como puede ver, la partición correspondiente es /dev/sda1. Entonces tu /tmpestá en el disco duro. Otro regalo en la salida de dfes el punto de montaje /. Si montaste /tmpen la RAM, en su lugar obtendrías

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

La salida de df /tmpda la respuesta: la columna "Montado en" enumera /, por lo que /tmpes parte del sistema de archivos que está montado /, es decir, el sistema de archivos raíz. No es un sistema de archivos separado.

Para ser más exactos, debe ejecutar df /tmp/: si /tmpes un enlace simbólico, luego df /tmpenumera información sobre la ubicación del enlace simbólico, mientras que df /tmp/enumera información sobre el directorio de destino.

La mención de /dev/rooten la columna del dispositivo se debe a que aparece en la lista /etc/mtab. Puede encontrar el dispositivo real buscando /proc/mountscon </proc/mounts awk '$2 == "/" {print $1}'o findmnt /.

Gilles 'SO- deja de ser malvado'
fuente
+1 para df /tmpy findmnt /.
akhan
0

df /path/to/target muestra qué sistema de archivos contiene el destino de la carpeta, el total de bytes, los bytes utilizados, el porcentaje disponible y el punto de montaje.

En el ejemplo documentado en esta pregunta, la carpeta /tmp/se encuentra dentro del sistema de archivos etiquetado root, que está en el dispositivo de bloque /dev/sda1.

mount | grep targetmostrará ningún sistemas de ficheros que contienen el nombre de destino que se enumeran en /etc/mtab. Si la carpeta de destino no es un sistema de archivos separado, mount no le dará directamente información precisa.

Sin embargo, para saber qué dispositivo contiene /tmp/, use dfpara obtener el nombre del sistema de archivos, ( /dev/root) y el punto de montaje, ( /), y luego busque la salida de mountpara encontrar el dispositivo o punto de montaje y determine qué dispositivo de bloque contiene ese sistema de archivos.

Es importante distinguir entre el dispositivo y el sistema de archivos porque no siempre hay una correlación 1: 1. El dispositivo de bloque se puede particionar y cada partición tendrá un sistema de archivos. Cada partición puede tener un tipo diferente de sistema de archivos. Cada partición tiene su propio nombre único y UUID y puede tener alias.

Xalorous
fuente
-2

Para comprobar esto, mountes más apropiado. Puede probarlo y grep su salida en 'tmp'

Ej :

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

Aquí dice que mi partición /dev/shmestá montada con tmpfs (almacenamiento temporal de archivos, es decir, en RAM). Si su partición no está montada con tmpfs, entonces no está en la memoria volátil.

fduff
fuente
Yo estaba esperando a ver tmpfs on /tmp.
Vorac
Por el contrario, dfda la información directamente, mientras que mount | grepno reconocen la información fiable (que se perdería los casos en que /tmpes un enlace simbólico, y que no funcionaría para algo así /var/tmp, ya sea /varo /var/tmppodría ser un punto de montaje).
Gilles 'SO- deja de ser malvado'
mountbásicamente imprime el contenido del archivo mtab ( /etc/mtab). Esto muestra solo sistemas de archivos montados. Si la carpeta de destino no es un sistema de archivos separado, no lo encontrará utilizando mount. Sin embargo, si lo usa df /path/to/target, le dirá positivamente qué dispositivo de bloque contiene la carpeta de destino y dónde está montado ese dispositivo. Luego puede usar mountu otras herramientas para determinar qué tipo de sistema de archivos es y otra información. En el ejemplo de OP, su sugerencia no mostrará dónde está montada la carpeta / tmp /, ya que su / tmp / no es un sistema de archivos separado, sino parte de /.
Xalorous