Perguntas sobre o comportamento da execução do LiveCD Linux após a desmontagem de um CD-ROM

1

Alguém poderia explicar o que acontece no sistema após desconectar o CD-ROM durante o trabalho com a sessão do LiveCD?

Suponha que estou usando o Ubuntu LiveCD e, de repente, por acidente, o CD-ROM é desconectado por segundo, devido a falta de energia no caso de dispositivos externos ou apenas abrindo a bandeja do CD se o SO permitir. . Suponha que depois de um tempo o CD-ROM seja conectado novamente.

Alguém pode explicar o que exatamente acontece então, por que o sistema operacional pára ou está funcionando, mas não como antes e como, se for possível, a estabilidade e a utilidade podem ser trazidas de volta e o usuário pode continuar trabalhando?

De acordo com minhas observações baseadas no Ubuntu LiveCDs (versões abaixo de 12, a versão do kernel é provavelmente 2.6.XX) a reação do sistema é como seguir:

  • todas as aplicações na área de trabalho X desaparecem (acho que é devido ao envio automático de um sinal de eliminação para todos os processos como se o sistema operacional quisesse desligar, mas na verdade parece esperar por algo) e parece que apenas a imagem de fundo com o cursor que pode ser movido o tempo todo
  • todos os TTYs estão disponíveis e podem ser exibidos, mas existem apenas mensagens de erro como INFO: task <process name>:<pid> blocked for more than 120 seconds e SquashFS error: unable to read [...]
  • o tempo todo eu posso ver piscando '_' e eu posso digitar algo, mas pressionando enter basta fazê-lo ignorado para a nova linha e, obviamente, o sistema operacional não o executa
  • os atalhos do terminal para cancelar e encerrar o processo atual também não funcionam
  • combinações mágicas do SysRq geralmente estão funcionando e eu posso ver a saída real, mas não sei qual delas seria útil nesse caso

Alguém pode explicar essa reação e dizer exatamente o que esses erros significam? E o que se pode fazer para consertar isso - existe alguma maneira para isso e por que não, se sim?

Aqui: link Acabei de ler que "se uma tarefa for bloqueada, ela aguarda os recursos ficarem disponíveis novamente". Então, se eu entendi corretamente, ele está esperando por recursos - é verdade ou apenas interpretação errada e ele irá esperar indefinidamente - o CD-ROM é seguramente plugado novamente o mais rápido possível. Como entender isso?

Eu sei que os processos se foram (ou "bloqueados" como as mensagens de erro estão sugerindo?), mas e quanto aos arquivos no ramdisk, eles ainda estão lá até a reinicialização? Isso é possível acessá-los de alguma forma? Ou, por exemplo, apenas extrair strings de texto e assim por diante?

Há um shourtcut mágico do SysRq que remonta sistemas de arquivos - há alguma chance de que ele ajude em tais situações ou deva ser tentado no final após outras tentativas? Se o CD estiver funcionando como virtual fs, quais efeitos podem trazer sistemas de arquivos remountig nesse caso?

    
por user277216 05.02.2014 / 16:46

1 resposta

0

Vou dar uma olhada em alguns dos erros:

  • SquashFS error: unable to read [...] é um erro ao tentar acessar o sistema de arquivos no próprio CD. O SquashFS , como as notas da Wikipedia, é um sistema de arquivos comprimido, somente leitura, usado freqüentemente para dados do sistema em LiveCDs. A maioria dos diretórios do sistema (provavelmente /bin , /sbin e alguns outros) provavelmente estão nesses sistemas de arquivos de CD, portanto, quando um programa precisa acessar esses diretórios, você recebe um erro.
  • <process name>:<pid> blocked for more than 120 seconds é provavelmente devido a algum processo que deseja ler algo de um SquashFS e o kernel o bloqueia porque recebe um erro de leitura.
  • O _ piscante é normal (isto é, o Ubuntu não executa getty em qualquer TTY que estiver usando - recebo um pressionando Ctrl + Alt + F8 em um sistema perfeitamente normal). No entanto, se estiver em um TTY inferior (qualquer coisa abaixo de TTY 7), isso provavelmente indica que o Ubuntu não pode iniciar o programa login porque não pode encontrá-lo. No entanto, se você puder digitar algo, significa que provavelmente tem um getty em execução.
  • O SysRQ tem muitas opções possíveis - a Wikipedia fornece uma lista útil . Você pode tentar Alt + SysRQ + u para ver se o Linux pode remontar com sucesso os sistemas de arquivos SquashFS que você perdeu quando o CD foi removido. Se funcionar, você deve conseguir um shell novamente - embora eu não saiba se algum dos seus processos irá se recuperar.

Uma coisa que você deve tentar é ver quais diretórios estão associados a esses sistemas de arquivos somente leitura. Para fazer isso, você deve tentar mount | grep squashfs . Isso descobrirá quais sistemas de arquivos estão armazenados no disco e o que será afetado quando você os remover.

Quanto à recuperação de arquivos na RAM - eles persistem até a reinicialização, mas se você não puder remontar o sistema de arquivos e obter acesso a um shell de login, eles certamente serão prejudicados quando você reiniciar.

    
por 06.02.2014 / 16:28