¿Dónde se guardan exactamente los programas y archivos en un sistema en vivo no persistente?

8

Recientemente, necesitaba probar varias opciones de arranque del kernel con un sistema en vivo y tuve que instalar un programa para verificar la información del sistema en cada arranque (no tenía una unidad USB disponible y el CD era la opción más confiable en ese momento).

Después de un puñado de instalaciones, comencé a preguntarme dónde está realmente "guardado" el programa, ya que el CD no tiene un área persistente y también es posible crear unidades USB sin una. Además, es posible descargar archivos o hacer capturas de pantalla con un sistema en vivo no persistente y guardarlos temporalmente en los directorios de los usuarios.

¿Dónde se guardan realmente estos archivos? ¿Están cargados en la RAM, por lo que la memoria máxima disponible para el sistema en vivo es en realidad la capacidad de RAM de la máquina? ¿Los programas instalados se almacenan en el caché de la CPU o en otro lugar por completo? ¿O es posible que esa información esté escrita en un espacio vacío del medio de CD? Obviamente, no se puede asignar espacio en el disco duro, ya que los sistemas en vivo también funcionan con cifrado completo o incluso sin discos duros instalados.

Prototipo700
fuente

Respuestas:

10

Dice no persistente. Por lo tanto, no "persisten" (continúan existiendo) entre reinicios. Lo que sucede es que una parte de la RAM se usa como disco RAM. Esencialmente, una parte de su RAM se usa para simular un disco. Eso es todo lo que hay que hacer, de verdad. Es por eso que puede crear archivos en su / home / ubuntu durante una sesión de LiveCD. Simplemente no sobrevivirán (= persistirán) después del reinicio.

No tengo un LiveCD a mano, pero intente escribir df -hen el terminal la próxima vez y busque el /punto de montaje. Mira el dispositivo. Lo más probable es que sea algo así tmpfs. (Este revestimiento debe darle la línea de que estés interesado en: df -h | grep \/$)

Algunas lecturas sobre discos RAM .

jawtheshark
fuente
3
En estos días, es probable que sea aufso algún otro sistema de archivos superpuesto: son más fáciles de configurar que una tmpfsconfiguración clásica .
Mark
11

El sistema en vivo que viene con Ubuntu ISO es una instalación de Ubuntu en un archivo comprimido llamado filesystem.squashfs. Este archivo tiene un sistema de archivos de SquashFS 1 que es comparable al sistema de archivos ISO de CD y DVD, que se puede montar y usar. 2

Este archivo está en el /casper/directorio del CD. Incluso puede montar este archivo de la misma manera que puede montar archivos ISO.

Este archivo se monta y carga en la memoria durante el arranque para ser utilizado como un sistema en vivo. Pero el archivo completo no se carga de una vez, sino solo las porciones / programas requeridos a pedido.

Un sistema en vivo puede crear / cambiar archivos de los medios con la ayuda de un archivo persistente . El archivo persistente utilizado en Ubuntu se nombra casper-rwy contiene un sistema de archivos similar ext3o ext4que se puede escribir. En un USB de arranque, este reside en la raíz de la unidad.

Este casper-rwarchivo de persistencia está montado en unión como un sistema de archivos de superposición, lo que significa que tanto el de solo filesystem.squashfslectura como el de lectura / escritura casper-rwestán montados /. Todos los archivos que se cambian o crean se guardan en este sistema de archivos de escritura casper-rw. Creando así la ilusión de que el Live CD es grabable, donde en realidad no lo es.

Entonces, respondiendo a sus preguntas:

¿Dónde se guardan realmente estos archivos?

Respuesta dada arriba.

¿Están cargados en la RAM, por lo que la memoria máxima disponible para el sistema en vivo es en realidad la capacidad de RAM de la máquina?

Supongo que memoryte refieres al espacio. Su pregunta es "¿Entonces el espacio máximo disponible para el sistema en vivo es, en gran medida, la capacidad RAM de la máquina"?

No. El almacenamiento máximo disponible para un sistema en vivo es el tamaño del archivo persistente (si lo hay) + espacio de intercambio (si ya existe) + RAM (debe usarse como almacenamiento hasta que se reinicie)

¿Los programas instalados se almacenan en el caché de la CPU o en otro lugar por completo?

Si instala el programa en el sistema Live sin un archivo persistente , estos estarán en su memoria. Si reinicia, todo se perderá. Sin embargo, si está utilizando casper-rwun archivo persistente, estos se guardarán en ese archivo y estarán disponibles después del próximo reinicio ( siempre que no haya eliminado ese archivo )

¿O es posible que esa información esté escrita en un espacio vacío del medio de CD?

No, no escribe en el CD Medio. Como se explicó en la respuesta anterior.

Espero que obtengas tus respuestas.


Notas:

  1. SquashFS: es un sistema de archivos de solo lectura que le permite comprimir sistemas de archivos completos o directorios individuales, escribirlos en otros dispositivos / particiones o archivos ordinarios, y luego montarlos directamente (si es un dispositivo) o usar un dispositivo de bucle invertido (si es un archivo) Fuente

  2. Puedes montarlo usando comandos como sudo mount ./filesystem.squashfs /mnt -o loop

  3. El montaje de unión es una forma de combinar múltiples directorios en uno que parece contener sus contenidos combinados. Fuente

Anwar
fuente
Casper es un pequeño fantasma amigable de un sistema de archivos.
gato
1
Gracias por tu explicación detallada. No he visto que haya agregado respuestas a las preguntas individuales en su respuesta. Eso lo explica bastante bien. Sin embargo, no entendí completamente la sección sobre casper -rw, especialmente el significado de "creando efectivamente la ilusión de que el Live CD es grabable, donde en realidad no lo son", pero supongo que solo tengo que leer sobre ese. Sin embargo, usted respondió la pregunta, ya que un archivo persistente no está disponible en el medio del CD y lógicamente un archivo de intercambio solo puede existir en la RAM, ahí es donde se almacenó la información en mi caso.
Prototype700 el
1
Estoy explicando la parte de Ilusión. Los archivos de lectura / solo están montados /. Se les ve como /usr/, /var/, /homeetc., en vivo CD, no se puede crear, archivos de cambios que persiste. Sí, puedes crear, cambiar, pero eso desaparecerá ya que realmente están en la RAM. Esto es lo mismo en Live USB sin archivo de persistencia o casper-rwarchivo
Anwar
1
Pero, en Live USB con archivo de persistencia, esto también está montado /. Entonces, cuando crea un archivo en su /homedirectorio, ese archivo realmente se almacena en el casper-rwarchivo, pero usted piensa que ese es el contenido del CD. Si abre casper-rw, obtendrá todos los archivos modificados / actualizados allí en la ubicación respectiva. Dado que esto se está montando sobre el original de solo lectura, creando así la Ilusión
Anwar
2
Otra cosa es que su dicho "Un archivo de intercambio solo puede existir lógicamente en la RAM" no es correcto. Swap es una partición o un archivo almacenado en el disco y se monta para utilizarlo durante el arranque. Lo bonito es que, si su disco ya tiene una partición Swap, su ubuntu en vivo lo reconocerá y lo usará. Pero sí, es volátil y se limpia cuando reinicia @ Prototype700
Anwar el