Onde exatamente os programas e arquivos são salvos em um sistema ativo não persistente?

8

Recentemente, eu precisava testar várias opções de inicialização do kernel com um sistema ativo e tive que instalar um programa para verificar as informações do sistema em cada inicialização (eu não tinha uma unidade USB disponível e o CD era a opção mais confiável naquele momento).

Após algumas instalações, comecei a me perguntar onde o programa é realmente "salvo", pois o CD não tem uma área persistente e também é possível criar drives USB sem um. Além disso, é possível baixar arquivos ou fazer capturas de tela com um sistema ativo não persistente e salvá-los temporariamente nos diretórios do usuário.

Onde esses arquivos são realmente salvos? Eles estão carregados na RAM; portanto, a memória máxima disponível para o sistema ativo é na verdade a capacidade de RAM da máquina? Os programas instalados são armazenados no cache da CPU ou em algum outro lugar? Ou essas informações são possivelmente escritas no espaço vazio da mídia do CD? Obviamente, não pode haver espaço não alocado no disco rígido, pois os sistemas ao vivo também funcionam com totalmente criptografado ou mesmo completamente sem os discos rígidos instalados.

Prototype700
fonte

Respostas:

10

Diz não persistente. Portanto, eles não "persistem" (continuam a existir) entre as reinicializações. O que acontece é que uma parte da RAM é usada como um disco RAM. Essencialmente, uma parte da sua RAM é usada para simular um disco. Isso é tudo o que há para realmente. É por isso que você pode criar arquivos no seu / home / ubuntu durante uma sessão do LiveCD. Eles simplesmente não sobreviverão (= persistirão) após a reinicialização.

Não tenho um LiveCD à mão, mas tente digitar df -ho terminal na próxima vez e procure o /ponto de montagem. Olhe para o dispositivo. Provavelmente será algo parecido tmpfs. (Esse liner deve fornecer a linha em que você está interessado df -h | grep \/$:)

Algumas leituras sobre discos RAM .

jawtheshark
fonte
3
Atualmente, é provável que exista aufsou algum outro sistema de arquivos de sobreposição - eles são mais fáceis de configurar do que uma tmpfsconfiguração clássica .
Mark
11

O sistema ativo que acompanha o ISO do Ubuntu é uma instalação do Ubuntu em um arquivo compactado chamado filesystem.squashfs. Este arquivo possui um sistema de arquivos do SquashFS 1 que é comparável ao sistema de arquivos ISO de CDs e DVDs, que pode ser montado e usado. 2

Este arquivo está no /casper/diretório do CD. Você pode até montar esse arquivo da mesma maneira que pode montar arquivos ISO.

Este arquivo é montado e carregado na memória durante a inicialização para ser usado como um sistema ativo. Mas o arquivo completo não é carregado de uma só vez, mas apenas as partes / programas necessários sob demanda.

Um sistema ativo pode criar / alterar arquivos da mídia com a ajuda de um arquivo persistente . O arquivo persistente usado no Ubuntu é nomeado casper-rwe contém um sistema de arquivos como ext3ou ext4que pode ser gravado. Em um USB inicializável, ele reside na raiz da unidade.

Esse casper-rwarquivo de persistência é montado em união como um sistema de arquivos de sobreposição, o que significa que o somente filesystem.squashfsleitura e o leitura / gravação casper-rwestão montados /. Todos os arquivos que são alterados ou criados são salvos neste sistema de arquivos gravável de casper-rw. Assim, criando efetivamente a ilusão de que o Live CD é gravável, onde na verdade eles não são.

Então, respondendo suas perguntas -

Onde esses arquivos são realmente salvos?

Resposta dada acima.

Eles estão carregados na RAM; portanto, a memória máxima disponível para o sistema ativo é na verdade a capacidade de RAM da máquina?

Suponho que memoryvocê esteja se referindo ao espaço. Sua pergunta é "Portanto, o espaço máximo disponível para o sistema ativo é a capacidade de RAM da máquina"?

Não. O armazenamento máximo disponível para um sistema ativo é o tamanho do arquivo persistente (se houver) + espaço de troca (se já existirem) + RAM (ele precisa ser usado como armazenamento até a reinicialização)

Os programas instalados são armazenados no cache da CPU ou em algum outro lugar?

Se você instalar o programa no sistema Live sem um arquivo persistente , eles estarão na sua memória. Se você reiniciar, tudo será perdido. No entanto, se você estiver usando um casper-rwarquivo persistente, eles serão salvos nesse arquivo e estarão disponíveis após a próxima reinicialização ( desde que você não tenha excluído esse arquivo )

Ou essas informações são possivelmente escritas no espaço vazio da mídia do CD?

Não, ele não grava no CD Medium. Como explicado na resposta anterior.

Espero que você obtenha suas respostas.


Notas:

  1. SquashFS - É um sistema de arquivos somente leitura que permite compactar sistemas de arquivos inteiros ou diretórios únicos, gravá-los em outros dispositivos / partições ou em arquivos comuns e montá-los diretamente (se um dispositivo) ou usando um dispositivo de loopback (se é um arquivo). Fonte

  2. Você pode montá-lo usando comandos como sudo mount ./filesystem.squashfs /mnt -o loop

  3. A montagem em união é uma maneira de combinar vários diretórios em um que parece conter o conteúdo combinado. Fonte

Anwar
fonte
Casper é um pequeno fantasma amigável de um sistema de arquivos.
cat
1
Obrigado pela sua explicação detalhada. Não vi que você adicionou respostas às perguntas individuais em sua resposta. Isso explica muito bem. No entanto, eu não entendi completamente a seção sobre casper -rw, especialmente o significado de "Assim criando efetivamente a ilusão de que o Live CD é gravável, onde na verdade eles não são.", Mas acho que só preciso ler sobre aquele. Você respondeu à pergunta, porém, como um arquivo persistente não está disponível na mídia do CD e um arquivo de troca pode existir logicamente apenas na RAM, é onde as informações foram armazenadas no meu caso.
Prototype700
1
Estou explicando parte da ilusão. Os arquivos somente leitura estão montados /. Você vê-los como /usr/, /var/, /homeetc. Live CD, você não pode criar, alterar arquivos que persiste. Sim, você pode criar, alterar, mas isso desaparecerá, pois está realmente na RAM. Este é o mesmo em Live USB sem arquivo de persistência ou casper-rwarquivo
Anwar
1
Mas, no Live USB com arquivo de persistência, isso também está montado /. Então, quando você cria um arquivo em seu /homediretório, esse arquivo é realmente armazenado no casper-rwarquivo, mas você acha que esse é o conteúdo do CD. Se você abrir casper-rw, receberá todos os arquivos alterados / atualizados lá no respectivo local. Uma vez que este está sendo montado sobre a read-only um original, criando assim a ilusão
Anwar
2
Outra coisa é que você está dizendo que "um arquivo de permuta só pode existir logicamente na RAM" não está correto. Trocar é uma partição ou um arquivo armazenado no disco e montado para ser usado durante a inicialização. O mais bonito é que, se o seu disco já tiver uma partição Swap, o seu ubuntu ao vivo o reconhecerá e usará. Mas sim, é volátil e limpo quando você reiniciar @ Prototype700
Anwar