Existe algum aplicativo semelhante ao Deep Freeze para Ubuntu?

10

Gostaria de saber se existe alguma alternativa ao Deep Freeze para Linux que ainda esteja em desenvolvimento, porque li algumas coisas na Internet e parece que a mesma empresa que desenvolveu o Deep Freeze tinha uma versão Linux, mas o projeto foi descontinuado.

Zignd
fonte
Porque você iria querer aquilo? Apenas não permita que usuários não root alterem os arquivos do sistema.
David Foerster
@DavidFoerster Acabei de editar a pergunta para responder ao seu comentário.
Zignd
Oi, você pode tentar esta alternativa sourceforge.net/projects/dafturnofris-id
2
Usuários "convidados" normais (prontos para uso) no Ubuntu (recente?) São criados em tempo real, têm casa /tmpe são limpos após o logout ... isso não é suficiente?
Rmano 20/03

Respostas:

8

O OFRIS é um aplicativo de código aberto que pode congelar o Linux, é como o Deep Freeze no sistema operacional Microsoft Windows.

Para versões do Ubuntu 9.10, 10.04 e 10.10. Para instalar o OFRIS, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:

sudo add-apt-repository ppa:tldm217/tahutek.net -y
sudo apt-get update && sudo apt-get install ofris-en -y

Para versões do Ubuntu 11.04, 11.10, 12.04 e 13.04. Para instalar o OFRIS, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:

[Formato do arquivo COPY]

if [ $(uname -m) == "x86_64" ]; then deb="http://goo.gl/DleLl"; else deb="http://goo.gl/V94Qs"; fi && wget -q $deb -O ofris.deb && sudo dpkg -i ofris.deb && rm ofris.deb

A imagem abaixo mostra o OFRIS rodando em 13.04

insira a descrição da imagem aqui

Fonte: XGeek

Mitch
fonte
Eu instalei isso em 15.10 e apliquei o Freeze pressionando 3, confirmando que o sistema está no modo congelado. Então eu reiniciei, criei um arquivo / var / tmp / myname com valor, e novamente reiniciei, mas o arquivo ainda está lá. Como está congelando?
O que exatamente você quer dizer? Também preciso verificar se isso funciona na 15.10. O congelamento do sistema está redefinindo tudo do jeito que era antes de ser congelado. Por favor deixe-me saber.
Mitch
2

Aviso: eu implementei essa solução e ela funciona, mas os tempos de mesclagem para retornar ao instantâneo podem levar o processo de inicialização a demorar muito tempo se grandes alterações forem feitas no sistema durante a última inicialização. Durante esse período de espera, pode parecer aos usuários que o sistema está travando!

Lembre-se também de que qualquer pessoa que possua conhecimento suficiente para montar o instantâneo, poderá fazer alterações no estado "congelado". Aproveitei essa possibilidade de atualizar sistemas "congelados", mas, novamente, isso também pode aumentar o tempo necessário para mesclar (reverter para) o instantâneo!


Instantâneos do LVM + cron + script = estado "congelado"

Recentemente, comecei a pesquisar no LVM e ocorreu-me que era possível criar um estado "congelado" em uma máquina usando o LVM e seus recursos de instantâneo. Obviamente, esse método requer um sistema configurado usando o LVM (ou pelo menos o LVM nas partições a serem congeladas).

Resumo:

  • Instale o sistema em partições LVM reservando espaço suficiente em um PV para uma captura instantânea
  • Configure o sistema da maneira que desejar.
  • Crie um trabalho cron que seja executado como raiz na inicialização para mesclar o instantâneo e crie um novo instantâneo para substituir o mesclado
  • Todas as reinicializações sucessivas revertem para o instantâneo. Todas as capturas instantâneas criadas são tiradas do sistema no estado em que você a criou.
  • Como um bônus adicional, o instantâneo pode ser montado e modificado (desde que você tenha privilégios de root) e o estado "congelado" pode ser atualizado, se necessário.

Prova de conceito: congele tudo, exceto uma partição, a partir de uma instalação limpa

A instalação:

  • Inicialize a partir de um disco / USB ativo do Ubuntu e escolha a opção "Experimente o Ubuntu sem instalar". Isso é importante para configurar manualmente partições com o LVM
  • Quando o Ubuntu carrega a partição do disco, use a ferramenta de sua escolha, para que ela tenha uma partição que ocupa todo o espaço da unidade. Aqui está o que eu estou trabalhando:
    • /dev/sda (tamanho 1T)
      • /dev/sda1 (tamanho 1T)
  • Em seguida, em um terminal, configure o LVM /dev/sda1. Vou colocar a maior parte do sistema em uma única partição, mas você não precisaria.
    • sudo pvcreate /dev/sda1
    • sudo vgcreate ubuntu-vg /dev/sda1
    • sudo lvcreate -n swap -L 1G ubuntu-vg
    • sudo lvcreate -n unfrozen -L 10G ubuntu-vg
    • sudo lvcreate -n root -l +50%free ubuntu-vg
  • Agora, se você for executado sudo vgsseguido por sudo lvsvocê, poderá ver que a quantidade de espaço livre restante no grupo de volumes "ubuntu-vg" (VFree na saída vgs) é igual à quantidade de espaço ocupado pela raiz do volume lógico " "(LSize na saída lvs). No meu caso, tenho 506,44g grátis no ubuntu-vg e minha partição raiz é 506,44g grande. Se o espaço livre restante no grupo de volumes for igual ao tamanho da partição que eu quero congelar, conseguirá apagar toda a partição e ainda conseguir recuperar com uma reinicialização. Deixe o restante do espaço livre no ubuntu-vg por enquanto não utilizado. Usaremos mais tarde.
  • Agora instale o Ubuntu usando o particionamento manual image.png
  • Quando a instalação estiver concluída, vá em frente e reinicie o sistema recém-instalado.
  • Depois de inicializado em seu novo sistema, configure-o para que seja exatamente da maneira que você deseja que seja quando o computador inicializar toda vez.
    • Se você não fizer alterações acidentais no snapshot e não desejar que a partição do snapshot apareça na barra de menus ...
      • mkdir /steady
      • Edite /etc/fstabadicionando (esta é uma linha) /dev/ubuntu-vg/steadystate /steady ext4 defaults,ro,nofail 0 1como a última linha do arquivo
    • Como coisas como atualizações ficam impressionadas com cada reinicialização, você pode desativá-las.
    • Se você tiver uma partição descongelada como a minha em / descongelada, não se esqueça de torná-la acessível aos usuários que precisam acessar
  • Depois de configurar o sistema exatamente da maneira que você deseja, crie o seguinte script (você precisará de privilégios de root) e salve como /root/steadystate.shno seu editor favorito. Observe que se você alterou o nome do grupo de volumes ao configurar o LVM, também será necessário atualizá-lo no script abaixo.
    #!/bin/bash
    LOG=/dev/kmsg

    # wait for merge in progress
    echo -n "Reverting to snapshot if present... " | tee -a $LOG
    merging=1
    while [ "$merging" == "1" ];
    do
        /usr/sbin/service lightdm stop #prevent the auto-login/login screen from loading
        [ "$(sudo lvs -a | grep steadystate)" == "" ] && merging=0
        sleep 1
    done

    # create snapshot
    echo -n "Creating new snapshot... " | tee -a $LOG
    /sbin/lvcreate -s -n steadystate -l +100%free /dev/ubuntu-vg/root

    # make sure root comes online before trying to merge
    while [ ! -e /dev/mapper/ubuntu--vg-root];
    do
        sleep .5;
    done
    echo -n "Scheduling reset to snapshot... " | tee -a $LOG
    /sbin/lvconvert --merge /dev/ubuntu-vg/steadystate

    echo -n "Starting lightdm... " | tee -a $LOG
    /usr/sbin/service lightdm start
  • Por fim sudo crontab -e, execute , selecione um editor e coloque @reboot /bin/bash /root/steadystate.shno final do arquivo. Salvar e fechar ( Ctrl+ X; responda Ypara salvar)
  • Reinicialize e você deverá ter um sistema congelado, exceto a partição montada em / descongelada

Isso funciona porque o instantâneo é criado no momento da inicialização e, embora passemos o comando para mesclar o instantâneo logo depois, o instantâneo não pode ser mesclado enquanto o volume lógico para raiz está ativo. Portanto, adia a ação de mesclagem até a próxima vez em que o / dev / ubuntu-vg / root for ativado, o que ocorrerá na próxima reinicialização. Essa ação também seria acionada se o sistema fosse inicializado a partir de um USB ativo.

Apenas para começar, entrei após uma reinicialização e executei o sudo apt remove --purge firefox* libreoffice-* unity*que normalmente não aconselho a fazer, porque remove alguns programas úteis e coloca o sistema no que poderia ser um estado menos que o desejável! broken.png O sistema nem sequer desligou corretamente a partir da GUI. Então, como se corrige isso? Reinicie! rebooted.png Após a reinicialização, tudo estava em ordem. Firefox, LibreOffice e Unity estavam de volta aonde pertenciam.

Eu também tentei remover o linux *. Isso deixou a máquina incapaz de inicializar, no entanto, simplesmente inicializar a partir de um disco Ubuntu ao vivo parecia fazer a fusão acontecer. Reiniciar novamente deixou o sistema em seu estado "congelado"

Se você quiser fazer alterações, poderá (re) montar o instantâneo com privilégios rw e, em seguida, executar o chroot nele e fazer as alterações que desejar permanecer permanentes. Isso não é perfeito, mas é uma prova de conceito.

b_laoshi
fonte
1

Por padrão, o Ubuntu e a maioria dos outros Unices negam que usuários comuns (estudantes, convidados) gravem acesso aos arquivos do sistema. Somente um administrador com a devida autorização (nome de usuário e chave) pode instalar o software, alterar as configurações do sistema ou excluir partições.

Usuários comuns podem, por padrão, escrever apenas em seu diretório pessoal e no diretório temporário do sistema. Uma maneira comum de lidar com sessões de convidado únicas é colocar o diretório inicial dentro do diretório temporário e o diretório temporário na memória principal.

Se você quiser ter mais certeza, monte a partição do sistema somente leitura e coloque uma partição aufs sobre ela que armazene alterações na memória principal.

David Foerster
fonte
1

fsprotect é um conjunto de scripts que protegem os sistemas de arquivos existentes. O fsprotect é excelente para computadores públicos, como bibliotecas, cibercafés etc.

Usando aufs, eles empacotam um sistema de arquivos tmpfs forçando as alterações a serem gravadas no sistema de arquivos tmpfs.

O sistema de arquivos raiz é protegido por um script initramfs. Outros sistemas de arquivos são protegidos por um script init. Todos os sistemas de arquivos protegidos tornam-se somente leitura, garantindo sua imutabilidade mesmo em desligamentos.

Para instalar o fsprotect em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:

sudo apt-get install fsprotect

Os benefícios do uso do fsprotect são:

  • Os sistemas de arquivos estão protegidos e nenhuma alteração é gravada no disco.
  • Os sistemas de arquivos protegidos são montados somente leitura. Isso significa que eles não são danificados quando o computador é desligado incorretamente.
  • É muito fácil de usar.
  • Em alguns casos, torna o acesso ao sistema de arquivos mais rápido.

As desvantagens do uso do fsprotect são:

  • As alterações no sistema de arquivos não podem exceder um limite predefinido em bytes (definido por você).
  • Como o tmpfs é muito usado, você precisa ter espaço de troca adequado.
karel
fonte
A instalação falha no Ubuntu 16.04.2. Problema é uma má referência touchem um script initram. Aponta para /usr/bin/touche não para /bin/touch. Isso pode ser forçado a funcionar, mas mesmo quando instalado, a rede para de funcionar.
precisa saber é o seguinte
A rede para de funcionar pode ser porque você está usando um kernel ruim ou um kernel sem arquivos de cabeçalho. Quando o computador reiniciar, aguarde até que a tela inicial do fabricante desapareça e pressione a tecla Shift para mostrar as opções de inicialização do GRUB. Na tela roxa do GRUB, selecione Opções avançadas para Ubuntu e pressione Enter. Uma nova tela roxa aparecerá, mostrando uma lista de núcleos. Selecione um kernel diferente e pressione Enter.
26417
É praticamente uma nova instalação com todas as atualizações. Tentei o kernel antigo e, inicialmente, ele inicializou com redes, mas depois percebi que o fsprotect não estava incluído no kernel antigo. Atualizei todos os kernels e agora não tenho rede quando inicializo a partir de qualquer um dos kernel.
precisa saber é o seguinte
11
Remover a opção fsprotect do grub e atualizar o initramfs desativou o fsprotect, é claro, e a rede funciona novamente. Claramente, algo no fsprotect está quebrando a rede.
precisa saber é o seguinte