Creo un disco RAM en Ubuntu 16.10 (ejecutándose dentro de una VM) con los siguientes comandos
sudo mkdir -p /media/RAMDisk sudo mount -t tmpfs -o tamaño=2048M tmpfs /media/RAMDisk
Después de esto, si entro en el disco RAM y hago esto
df.
me sale lo siguiente
tmpfs 2097152 0 2097152 0% /medios/RAMDisk
Hasta ahora, todo bien.
Luego reinicio Ubuntu (que reinicia la VM que se ejecuta a través de Workstation Pro).
Después de reiniciar, espero que la /media/RAMDisk
carpeta no exista en absoluto o que exista comotmpfs
sistema de archivos sin contenido en él.
La /media/RAMDisk
carpeta existe sin contenido, pero sorprendentemente como un /dev/sda1
sistema de archivos. Cuando lo hago df .
con /media/RAMDisk
, veo esto:
/dev/sda1 17413904 9577448 6928836 59% /
Ahora, podría poner fácilmente los comandos dentro de mi .bashrc
y ejecutarlos y hacer las cosas correctas cada vez, pero necesito saber qué está pasando.
Además, ¿podría estar haciendo algo el administrador de mi máquina virtual, Workstation Pro?
Respuesta1
¿Qué está pasando?
Nada inusual.
df /media/RAMDisk
, cuando se refiere a /dev/sda1
, le indica que el directorio que en ese momento pertenece al sistema de archivos en /dev/sda1
el que está montado /
.
Esto se debe a que el efecto de su mount
comando no es permanente y no sobrevive al reinicio. Por otro lado, el mkdir
comando creó un directorio dentro del sistema de archivos /dev/sda1
y este sistema de archivos se monta después de cada reinicio para que el directorio sobreviva, pero como parte del /dev/sda1
sistema de archivos.
Debe montarlo RAMDisk
después (o en) cada arranque de alguna manera.
¿Cómo montar?
Huir mount
desde dentro .bashrc
no es una buena idea porqueeste archivo puede tener varias fuentesdurante una sola sesión. Como lo necesita sudo
de todos modos, será mejor usar /etc/rc.local
el que se ejecuta una vez cuando se inicia el sistema operativo.
Pero la forma aún mejor puede ser agregar la siguiente línea a su /etc/fstab
:
tmpfs /media/RAMDisk tmpfs defaults,nosuid,nodev,size=2048M 0 0
Investigue user
las noauto
opciones (ver man 5 fstab
) y tal vez le gustaría usarlas e invocarlas mount /media/RAMDisk
solo bajo demanda.
systemd
?
Este sitioMe hace creer que puedes ejecutar una systemd
unidad cuando un usuario determinado inicia sesión por primera vez y finalizarla tan pronto como se cierre la última sesión del usuario. No estoy muy familiarizado con systemd
, así que no puedo decirte cómo (si) puedes hacerlo con .mount
la unidad.
Pero si lo usas systemd
, entonces ya deberías tener un archivo personal tmpfs
montado en /run/user/<UID>
. El de todo el sistema debería estar activado /dev/shm
.
Acerca de/media/
Ubuntu también /media/
utiliza la nota para crear puntos de montaje, por ejemplo, para unidades USB externas (creo que udisks2
es responsable). Puede que parezcan así /media/<username>/<label>
, supongo /media/RAMDisk
que no van a chocar con nada. En general, evitaría utilizar esta ubicación. En mis sistemas (Debian, Kubuntu, Raspbian, OpenWRT) uso /mnt/<something>
y nunca he tenido problemas.