¿De dónde viene tmpfs y cómo se monta?

¿De dónde viene tmpfs y cómo se monta?

Estoy usando una placa BeagleBone con Linux.

Cuando escribo el comando "df-h", veo que tmpfs está montado varias veces.

¿Significa esto que todas estas entradas se montan en el mismo lugar o en una parte diferente del tmpfs?

Esto me lleva a otra cosa que no entiendo del todo. ¿Dónde se crea realmente este sistema de archivos tmpfs en primer lugar? Supongo que sucede cuando arranca Linux. ¿Debería poder encontrar un script que cree este sistema de archivos?

tmpfs                   242.4M         0    242.4M   0% /dev/shm
tmpfs                   242.4M      8.3M    234.2M   3% /run
tmpfs                   242.4M         0    242.4M   0% /sys/fs/cgroup
tmpfs                   242.4M     36.0K    242.4M   0% /tmp
tmpfs                   242.4M     16.0K    242.4M   0% /var/volatile
tmpfs                   242.4M     16.0K    242.4M   0% /var/lib

Respuesta1

Todos son sistemas de archivos diferentes. Lo que tienen en común es el tipo de sistema de archivos: utilizan el tmpfscontrolador, que almacena los datos en la memoria¹. No hay "super-tmpfs" de los que todos formen parte: todas las instancias son independientes.

La "columna de dispositivo" se muestra tmpfsporque muchas configuraciones no son imaginativas y usan la misma cadena para el nombre del dispositivo que para el tipo de sistema de archivos. El controlador tmpfs ignora el "nombre del dispositivo" ya que no carga datos desde ningún lugar.

Estos sistemas de archivos se crean montándolos y se destruyen desmontándolos. Por ejemplo, el siguiente comando crea un sistema de archivos tmpfs cuyo contenido es solo el directorio raíz (todos los sistemas de archivos tmpfs comienzan de esta manera), propiedad de root y con permisos rwxrwxrwt, y cuyo tamaño máximo es 100 MB:

mount -t tmpfs -o size=100Mi,mode=1777 some_arbitrary_name /mnt

Las llamadas de montaje se realizan en scripts de arranque. En los viejos tiempos, podías encontrar llamadas al mountcomando en scripts de shell ejecutados durante el inicio. /var/libes inusual como punto de montaje tmpfs y se puede configurar mediante /etc/fstab. Hoy en día, la mayoría, si no todos, están montados por systemd.

¹ Esa es la memoria virtual: RAM o swap.

información relacionada