Estou trabalhando diretamente em uma máquina virtual Ubuntu (VM). Algumas atualizações (como o kernel) estavam disponíveis no gerenciador de atualizações.
Se eu não estivesse usando uma VM, não a atualizaria, pois é um risco quebrar alguma coisa. Como é uma VM, você pode criar um instantâneo ou exportar um dispositivo e restaurar se algo der errado.
Suponha que eu não esteja usando uma VM com uma instalação Debian / Ubuntu. Existe uma abordagem de instalação-restauração que não depende de uma configuração de VM para restaurar seu sistema exatamente antes de uma atualização (como um "Ponto de restauração" no Windows), sendo fácil de restaurar como um dispositivo de VM?
(Não estou procurando "imagens fantasmas" ou algo parecido (Norton Ghost, Clonezilla, etc.), estou procurando algo embutido no sistema Linux)
fonte
Respostas:
Não há nenhum recurso semelhante incorporado a qualquer distribuição Linux que eu conheça. Existem várias razões pelas quais seria muito menos útil do que para o Windows.
Principalmente, as distribuições Linux são muito mais sérias que a Microsoft sobre atualizações estáveis sendo atualizadas apenas para corrigir bugs importantes e com alterações mínimas. Por exemplo, com o Ubuntu e o Debian, você pode optar por receber apenas atualizações de segurança (
-security
) ou apenas atualizações de segurança e importantes correções de bugs (-updates
).As atualizações do kernel são as mais arriscadas, devido à chance de uma mudança aparentemente benéfica causar problemas em uma configuração de hardware específica. É por isso que a maioria das distribuições permite que mais de uma versão do kernel seja instalada ao mesmo tempo; por exemplo, no momento em que escrevo isso, o Ubuntu 10.04 tem três versões de kernel disponíveis: a
2.6.32.21.22
partir da versão original,2.6.32.22.23
com atualizações de segurança e também2.6.32.23.24
com atualizações que não são de segurança. Se a versão ... 24 causar um problema no seu computador, você poderá reiniciar em ... 23 (e até marcar a ... 24 como proibida de instalar, pelo menos se estiver usando o aptitude).Não há registro: todos os dados de configuração estão em arquivos (na
/etc
hierarquia), que podem ser facilmente restaurados individualmente se algo der errado. Mesmo assim, as atualizações para a versão estável raramente afetam os arquivos abaixo/etc
.Se você estiver instalando pacotes de alguma fonte que não seja uma versão estável, convém manter cópias de versões mais antigas dos pacotes e fazer backups dos arquivos de configuração. Aqui estão algumas dicas sobre isso no Debian e no Ubuntu.
/var/cache/apt/archives
. Se você tiver espaço em disco, não exclua os arquivos antigos do pacote até confirmar que a versão mais recente funciona para você./etc
: instalar oetckeeper
pacote e ativá-lo com o comandoetckeeper init
. (Faço isso, mas não porque estou preocupado com atualizações que quebram algo, mas porque estou preocupado com minhas alterações quebrando algo.)fonte
Não é necessário, pois o gerenciador de pacotes cuida de qual arquivo é de qual pacote e também pode reverter a atualização ou instalação do pacote.
fonte
Você pode tentar usar uma ferramenta como o etckeeper . Essa ferramenta simplesmente mantém os arquivos de configuração em todo o sistema em um repositório de controle de versão e facilita a reversão e a aplicação de qualquer alteração novamente.
Mas, para ser sincero, eu nunca precisei reverter qualquer alteração proveniente de atualizações nos meus sistemas debian / stable. Eu o uso para corrigir erros que cometi manualmente.
fonte
sudo hg serve -R /etc
TMK, o recurso de restauração do Windows reverte apenas as alterações no registro e em alguns diretórios críticos. O Linux não tem isso.
Você pode tentar a abordagem manual com backups. Simplesmente faça backup do seu diretório pessoal e da lista de programas do Synaptic e use-o como um ponto de restauração.
fonte
Observe que o Ubuntu em particular (mas provavelmente também o Debian) não removerá os pacotes antigos do kernel ao instalar as atualizações, e você pode configurar o gerenciador de inicialização para apresentar uma lista de kernels a serem escolhidos durante a inicialização.
Isso cria automaticamente "pontos de restauração" - apenas para o kernel - porque você pode escolher a versão anterior se a mais nova causar problemas. Até onde eu sei, o Windows não tem nada parecido com isso nas atualizações do kernel. (E especialmente para usuários domésticos, eu não gostaria de ajudar a diagnosticar e corrigir um sistema não inicializável devido a uma atualização do kernel.)
fonte
Existe uma ferramenta chamada Timeshift. ( http://www.teejeetech.in/p/timeshift.html ) Eu não o usei, mas parece promissor e ouvi coisas boas sobre isso dos usuários. Os instantâneos são projetados para evitar duplicação de dados. E não se assuste com um site de aparência obscura. :)
fonte
Se você usar o Logical Volume Manager para gerenciar o conteúdo de seus discos rígidos, poderá obtê-lo gratuitamente até certo ponto, usando instantâneos. Para citar o ótimo HOWTO : "Um exemplo é capturar instantaneamente um volume, montar o instantâneo e tentar um programa experimental que altere os arquivos nesse volume. Se você não gostar do que fez, desmonte o instantâneo, remova-o, e monte o sistema de arquivos original em seu lugar ".
fonte
Dependendo da sua tecnologia de VM, você pode parar / suspender / pausar a VM, despejar o núcleo e copiar a imagem da VM. Se falhar, restaure o original.
Se você estiver diretamente em um volume lógico, poderá criar um instantâneo do LVM com base no LV original. Teste uma atualização e, se funcionar, refaça-a na VM original (consulte lvcreate (8) -s)
Ou usando o alcatrão antigo (1). Você cria uma bola tar completa do espaço do usuário, restaura os arquivos e remove os arquivos que não estavam na bola tar original.
fonte
No momento, o Linux realmente não oferece esse recurso, embora seja muito útil.
No entanto, o artigo Atualizações inquebráveis, ZFS e Apt descreve o recurso apt-clone da distribuição de armazenamento Nexenta baseada em Linux e sugere ...
IMHO, primeiro precisamos de um sistema de arquivos utilizável Copy-On-Write (COW) para Linux antes que esse recurso possa ser implementado nos instaladores / atualizadores de sistema de maneira sã.
Aviso: Embora o Nexenta seja baseado no Linux, ele não usa o kernel do Linux. Ele usa o kernel do OpenSolaris e o ZFS.
fonte