$ 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)
mount
partition
block-device
Vorac
fuente
fuente

mountcomando?/tmpEs un punto de montaje. La pregunta que quiere hacer es "¿Qué partición / dispositivo está montado en / tmp?"/dev/rootes el dispositivo montado en la raíz del sistema de archivos (/)Respuestas:
Si el resultado es el anterior, está en el disco duro. Puede obtener
/dev/rootmirando la línea de comandos del kernel:Entonces
/dev/rootes equivalente a la partición con el UUID impreso anteriormente; los tuyos serán diferentes. Para buscar este UUID, useComo puede ver, la partición correspondiente es
/dev/sda1. Entonces tu/tmpestá en el disco duro. Otro regalo en la salida dedfes el punto de montaje/. Si montaste/tmpen la RAM, en su lugar obtendríasfuente
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, luegodf /tmpenumera información sobre la ubicación del enlace simbólico, mientras quedf /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}'ofindmnt /.fuente
df /tmpyfindmnt /.df /path/to/targetmuestra 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 etiquetadoroot, 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/, usedfpara obtener el nombre del sistema de archivos, (/dev/root) y el punto de montaje, (/), y luego busque la salida demountpara 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.
fuente
Para comprobar esto,
mountes más apropiado. Puede probarlo y grep su salida en 'tmp'Ej :
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.fuente
tmpfs on /tmp.dfda la información directamente, mientras quemount | 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).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 usadf /path/to/target, le dirá positivamente qué dispositivo de bloque contiene la carpeta de destino y dónde está montado ese dispositivo. Luego puede usarmountu 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/.