Eu gosto de executar um sistema autônomo para uso diário do 'quiosque'.
No entanto, o sistema pode ser desligado a qualquer momento sem que alguém faça um desligamento adequado antes. Por padrão, não se espera que o Ubuntu seja desligado por perda de energia. Após a reinicialização após uma perda de energia, o fsck pode ser executado para verificar o sistema de arquivos, e o fsck pode solicitar ao sistema que reinicie após a conclusão. Portanto, mesmo que nenhum dado de configuração seja corrompido, a máquina poderá não inicializar bem após a perda de energia. Então, testei algumas soluções alternativas:
altere a prioridade do fsck de montagem raiz para
0
(último campo nafstab
entrada raiz) que impede a execuçãofsck
após cada perda de energia. No entanto, o sistema pode inicializar com raiz, somente leitura, o que não é esperado por muitos serviços e resulta em um prompt de login do console, em vez do login gráfico.Substitua
errrors=remount-ro
porerrors=continue
. Isso dá uma sensação ruim de que mais perda de dados pode ocorrer por um sistema de arquivos incosistente. No entanto, comfsck
ativado novamente, ele deve aumentar a propabilidade de inicialização do sistema após a perda de energia. Então eu larguei 1).Reconfigure o grub2 para usar um tempo limite normal da opção padrão após uma falha na inicialização. Para isso, eu adicionei
GRUB_RECORDFAIL_TIMEOUT=0
a/etc/default/grub
.
No entanto, é difícil saber se esses hacks tornam o sistema à prova de perda de energia. Alguma ideia? Mais alguém pode fazer?
Respostas:
Para aplicativos de quiosque, o problema é resolvido usando uma partição raiz somente leitura. Além disso, quaisquer alterações feitas ou salvas pelos usuários são desfeitas na próxima reinicialização.
Para fornecer uma raiz gravável para a maioria das necessidades de aplicativos, overlayfs pode ser usado para sobrepor a partição somente leitura com um tempfs ram gravável.
Há um script que ajuda a criar essa configuração na parte inferior de https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash . O script contém as instruções para configurar isso:
sudo chmod 0755 root-ro
sudo update-initramfs -u
Eu sugiro para adicionar
GRUB_RECORDFAIL_TIMEOUT=0
ao/etc/default/grub
e corrersudo update-grub
muito, caso contrário, o menu de inicialização pode aparecer sem tempo limite.Depois disso, reinicie. A máquina inicia no modo somente leitura, que pode ser verificado por
mount
. Qualquer alteração aplicada desaparecerá na próxima reinicialização. Para fazer alterações, instalar software e atualizações, etc., basta acessar o menu GRUB, pressionare
para alterar as linhas de comando de inicialização e anexardisable-root-ro=true
à linha que começa com o kernel. Pressione F10 para continuar a inicialização. Você pode então usarmount
para confirmar que o root está montado como gravável, como de costume. Faça as alterações e reinicie, o sistema é novamente somente leitura.fonte
Algumas vezes após uma reinicialização impura (por exemplo, perda de energia ou botão de redefinição pressionado ou até mesmo um pânico no kernel), o sistema não inicializa solicitando que você pressione "y" para que um fsck conserte a partição.
Se você deseja evitar isso, edite / etc / default / rcS e altere:
Para:
Isso garantirá que esse reparo seja executado automaticamente sem avisar.
A desvantagem pode ser que você pode perder dados e retirar o disco rígido e cloná-lo primeiro, se houver algo crítico nele que não seja feito backup.
Por exemplo, se o seu controlador de disco rígido tiver uma falha e o fsck identificou falsamente a partição como quebrada e tenta repará-la, isso pode levar à perda de dados que, de outra forma, poderiam ser evitados. Eu nunca experimentei isso sozinho e lidei com quase mil servidores nos últimos sete anos, mais ou menos - mas ainda assim, isso é algo a ser lembrado.
fonte
A partir de hoje, para um quiosque solução também se pode instalar o pacote só de leitura
overlayroot
porque fornecerá facilmente uma solução completa como a da resposta aprovada. Também permite o comando benéfico
que fará logon em um shell com o antigo disco base somente leitura montado
/
. É então possível fazer alterações no sistema protegido, como por exemplo, usarapt-get
para instalar pacotes no antigo disco somente leitura. No entanto, após sair do shell, é altamente recomendável reiniciar, pois os arquivos sobrescritos temporariamente na RAM podem obscurecer os recém-instalados.fonte