Restaurar ou replicar o estado dos pacotes num sistema Debian-like


Aqui veremos como utilizar o apt-clone para restaurar ou replicar o estado dos pacotes de um sistema Debian.

Minha finalidade é sempre ter um sistema reinstalado em poucos passos e tal como se encontrava anteriormente, aqui demonstrarei como utilizar o fantástico apt-clone e o dpkg-repack sobre o qual fiz uma dica no VOL a muito tempo atrás:

Reempacotamento e repositorio local em um sistema Debian-like

Instalação.

Comecemos pela instalação dos programas:

# apt-get update
# apt-get install apt-clone dpkg-repack -y

Utilização.

Não abordarei outras funções do programas, mas apenas a criação dos arquivos de controle com as opções –with-dpkg-status e –with-dpkg-repack, então começo com:

# apt-clone clone --with-dpkg-status system-clone-2013-02-17-status

Que me retorna uma informação de que alguns pacotes não serão instaláveis e me sugere a utilização da opção –with-dpkg-repack, então vamos a ela:

# apt-clone clone --with-dpkg-repack system-clone-2013-02-17-repack

O nome do arquivo não tem importância, apenas preferi deixá-lo assim, principalmente devido ao controle da data na qual o mesmo foi criado (2013-02-17) seguida pelo nome da opção utilizada (-status ou -repack):

A restauração na prática.

Então para testar, começarei pela remoção de alguns pacotes que existiam no sistema até a execução dos comandos acima. Falando no sistema, a dica foi testada no siduction razorQT desatualizado, logo, durante a execução da restauração do sistema, todo ele será atualizado sem a minha intervenção, removi os seguintes pacotes:

# apt-get --purge remove nomacs bleachbit opera leafpad squeeze icedove
# apt-get update
# apt-get --purge remove busybox flashplugin-nonfree fuse-utils deb-multimedia-keyring

E começo a restauração com o uso da preset system-clone-2013-02-17-repack, onde estão os .debs que foram reempacotados pelo dpkg-repack:

# apt-clone restore system-clone-2013-02-17-repack.apt-clone.tar.gz

Nas imagens abaixo serão vistas todas as etapas até aqui aborbadas:

Continuando a nossa saga abro e fecho o reinstalado Opera pelo terminal, rodo o apt-get dist-upgrade e limpo o cache de pacotes obsoletos e para se certificar de que o que fora realizado até agora não foi obra do acaso, sorte e etc, repito o processo removendo os mesmos programas e executando o mesmo comando acima:

# apt-get --purge remove busybox flashplugin-nonfree fuse-utils deb-multimedia-keyring nomacs bleachbit opera leafpad squeeze icedove
# apt-clone restore system-clone-2013-02-17-repack.apt-clone.tar.gz

E para confirmar mais um pouco recebo a mensagem que todos os pacotes estão instalados (é mesmo!):

# apt-get install busybox flashplugin-nonfree fuse-utils deb-multimedia-keyring nomacs bleachbit opera leafpad squeeze icedove

Outras opções do programa podem ser vistas com:

# apt-clone --help

Abaixo vejam o conteúdo dos .tar.gz criados com o uso das opções –with-dpkg-status e –with-dpkg-repack, notem que na segunda imagem os .debs podem ser vistos no diretório /var/lib/apt-clone/debs:

Isso terá um grande valor numa futura reinstalação do sistema, bastará executar essa rotina de criação do tal .tar.gz e de manter um backup do mesmo, assim sendo poderei partir de uma instalação via NetInstall, montar a partição onde esse arquivo se encontra, instalar e executar o apt-clone e pronto.

Uma outra forma de ter funcionalidade similar a essa seria utilizar o próprio dpkg para gerar uma lista de pacotes e reinstalá-los com o apt-get|aptitude, porém os pacotes não existentes nos repos Debian não seriam instalados:

# dpkg --get-selections | awk '{if ($2=="install") print $1}' > pacotes-instalados.txt
# apt-get update
# cat pacotes-instalados.txt | xargs apt-get install

É isso aí… um abraço e boa sorte a todos.

Anúncios
Restaurar ou replicar o estado dos pacotes num sistema Debian-like

5 comentários sobre “Restaurar ou replicar o estado dos pacotes num sistema Debian-like

  1. marco brainiac disse:

    Obrigado amigo,

    Muito bom para usuários abelhudos como eu rsrs….

    Mais prático que o remastersys. É uma criação de ponto do sistema melhorado do Linux.
    Dica salva.

    Abração

    Curtir

    1. edps disse:

      rsrs… Obrigado Marco, lembro que só está disponível para o Wheezy e SID:

      http://packages.debian.org/search?keywords=apt-clone&searchon=names&suite=all&section=all

      Não sei se dá para rodá-lo no Squeeze.

      Atualizei a dica, adicionando uma outra opção que também pode ser vista no artigo sobre o dpkg-repack que fiz para o VOL.

      O melhor nisso tudo é que realizei os testes num Debian SID desatualizado, o qual foi atualizado durante o processo e não tive um erro sequer.

      Um abraço.

      Curtir

    1. edps disse:

      Olá… obrigado pelo comentário, em relação ao squeeze você pode tentar baixar e instalar o apt-clone diretamente em:

      http://packages.debian.org/wheezy/apt-clone

      Mas se não conseguir instalar o apt-clone com o dpkg -i, só lhe resta a opção de inserir os repos do Wheezy em seu Squeeze:

      deb http://sft.if.usp.br/debian/ wheezy main contrib non-free
      deb http://sft.if.usp.br/debian-security/ wheezy/updates main contrib non-free

      Rodar:

      # apt-get update
      # apt-get -t testing install apt-clone

      E por fim remover essas linhas do seu sources.list já que se mantidas ao rodar um dist-upgrade todo o sistema será atualizado para o Wheezy.

      E não se esqueça de instalar também o dpkg-repack normalmente via apt-get.

      Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s