Dove sono esattamente i programmi e i file salvati su un sistema live non persistente?


8

Di recente, ho dovuto testare varie opzioni di avvio del kernel con un sistema live e ho dovuto installare un programma per controllare le informazioni di sistema ad ogni avvio (non avevo un'unità USB disponibile e il CD era la scelta più affidabile in quel momento).

Dopo una manciata di installazioni, ho iniziato a chiedermi dove fosse effettivamente "salvato" il programma, dal momento che il CD non ha un'area persistente ed è anche possibile creare unità USB senza una. Inoltre, è possibile scaricare file o creare screenshot con un sistema live non persistente e salvarli temporaneamente nelle directory degli utenti.

Dove vengono effettivamente salvati questi file? Sono caricati nella RAM, quindi la memoria massima disponibile per il sistema live è in realtà la capacità RAM della macchina? I programmi installati sono archiviati nella cache della CPU o da qualche altra parte? O tali informazioni sono forse scritte su uno spazio vuoto del supporto CD? Ovviamente non può essere spazio non allocato sul disco rigido, poiché i sistemi live funzionano anche con crittografia completa o addirittura completamente senza unità disco rigido installate.

Risposte:


10

Dice non persistente. Quindi non "persistono" (continuano ad esistere) tra i riavvii. Quello che succede è che una parte della RAM viene utilizzata come disco RAM. In sostanza, una parte della RAM viene utilizzata per simulare un disco. Questo è tutto quello che c'è da fare, davvero. Ecco perché puoi creare file su / home / ubuntu durante una sessione LiveCD. Semplicemente non sopravviveranno (= persistono) dopo il riavvio.

Non ho un LiveCD a portata di mano, ma prova a digitare df -hil terminale la prossima volta e cerca il /punto di montaggio. Guarda il dispositivo. Molto probabilmente sarà qualcosa del genere tmpfs. (Questo uno di linea dovrebbe dare la linea che ti interessa: df -h | grep \/$)

Alcune letture sui dischi RAM .


3
Al giorno d'oggi, è probabile che sia aufso qualche altro filesystem overlay: sono più facili da configurare rispetto a una tmpfsconfigurazione classica .
Segna il

11

Il sistema live fornito con ISO di Ubuntu è un'installazione di Ubuntu in un file compresso chiamato filesystem.squashfs. Questo file ha un filesystem di SquashFS 1 che è paragonabile al filesystem ISO di CD e DVD, che può essere montato e usato. 2

Questo file si trova nella /casper/directory del CD. Puoi anche montare questo file nello stesso modo in cui puoi montare file ISO.

Questo file viene montato e caricato in memoria durante l'avvio per essere utilizzato come sistema live. Ma il file completo non viene caricato in una sola volta, ma solo le porzioni / i programmi richiesti su richiesta.

Un sistema live può creare / modificare file multimediali con l'aiuto di un file persistente . Il file persistente usato in Ubuntu è chiamato casper-rwe contiene un filesystem simile ext3o ext4che è scrivibile. In una USB avviabile, questo si trova nella radice dell'unità.

Questo casper-rwfile di persistenza è montato in unione come file system overlay, il che significa che sono montati sia in sola filesystem.squashfslettura che in lettura / scrittura . Tutti i file che vengono modificati o creati vengono salvati in questo file system scrivibile di . Creando così l'illusione che il Live CD sia scrivibile, dove in realtà non lo sono. casper-rw/casper-rw

Quindi, rispondendo alle tue domande -

Dove vengono effettivamente salvati questi file?

Risposta data sopra.

Sono caricati nella RAM, quindi la memoria massima disponibile per il sistema live è in realtà la capacità RAM della macchina?

Suppongo che memorytu stia riferendo lo Spazio. La tua domanda è "Quindi lo spazio massimo disponibile per il sistema live è la capacità RAM della macchina"?

No. Lo spazio di archiviazione massimo disponibile per un sistema live è la dimensione del file persistente (se presente) + spazio di scambio (se esiste già) + RAM (deve essere utilizzato come spazio di archiviazione fino al riavvio)

I programmi installati sono archiviati nella cache della CPU o da qualche altra parte?

Se installi un programma nel sistema Live senza un file persistente , questi saranno nella tua memoria. Se riavvii, tutto andrà perso. Tuttavia, se si utilizza casper-rwun file persistente, questi verranno salvati in quel file e saranno disponibili dopo il prossimo riavvio (a condizione che non sia stato eliminato quel file )

O tali informazioni sono forse scritte su uno spazio vuoto del supporto CD?

No, non scrive sul supporto CD. Come spiegato nella risposta precedente.

Spero che tu abbia le tue risposte.


Appunti:

  1. SquashFS: è un file system di sola lettura che consente di comprimere interi file system o singole directory, scriverli su altri dispositivi / partizioni o su file ordinari e quindi montarli direttamente (se un dispositivo) o utilizzando un dispositivo di loopback (se è un file). fonte

  2. Puoi montarlo usando comandi come sudo mount ./filesystem.squashfs /mnt -o loop

  3. Il montaggio in unione è un modo per combinare più directory in una che sembra contenere i loro contenuti combinati. fonte


Casper è un piccolo fantasma amichevole di un filesystem.
gatto

1
Grazie per la tua spiegazione dettagliata. Non ho visto che hai aggiunto le risposte alle singole domande nella tua risposta. Questo lo spiega abbastanza bene. Tuttavia, non ho compreso appieno la sezione su casper -rw, in particolare il significato di "Creare in modo efficace l'illusione che il Live CD sia scrivibile, dove in realtà non lo sono.", Ma immagino che devo solo leggere su quello. Hai risposto alla domanda, poiché un file persistente non è disponibile sul supporto CD e un file di scambio può logicamente esistere solo nella RAM, ecco dove sono state memorizzate le informazioni nel mio caso.
Prototype700,

1
Sto spiegando la parte Illusion. I file di sola lettura sono montati /. Li vedi come /usr/, /var/, /homeecc nel Live CD, non è possibile creare, file di cambiamento che persiste. Sì, è possibile creare, modificare, ma andrà via poiché sono davvero nella RAM. Questo è lo stesso in Live USB senza file o casper-rwfile di persistenza
Anwar,

1
Ma, in Live USB con file di persistenza, anche questo è montato /. Quindi, quando crei un file nella tua /homedirectory, quel file viene effettivamente archiviato nel casper-rwfile, ma pensi che sia il contenuto del CD. Se apri casper-rw, otterrai tutti i file modificati / aggiornati lì nella rispettiva posizione. Poiché questo viene montato su quello di sola lettura originale, creando così l'Illusione
Anwar,

2
Un'altra cosa è che il tuo dire "Un file di scambio può logicamente esistere solo nella RAM" non è corretto. Swap è una partizione o un file memorizzato su disco e viene montato per essere utilizzato durante l'avvio. La cosa bella è che se il tuo disco ha già una partizione di Swap, Ubuntu live lo riconoscerà e lo userà. Ma sì, è volatile e pulito quando riavvii @ Prototype700
Anwar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.