¿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)

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

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 /.


+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.


-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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.