Backup e restauração dos programas instalados em sistemas baseados em Debian

Publicado por Perfil removido (última atualização em 26/10/2009)

[ Hits: 11.678 ]

Download dpkg_backup.sh




Algumas vezes precisei instalar ou reinstalar um sistema no intuito de deixá-lo com todos os recursos já conhecidos na instalação anterior ou em outra máquina semelhante.

Então segue o script que faz um backup da lista de programas instalados e gera um executável para realizar a restauração.

Ajuste a linha 5 conforme suas necessidades (local onde gravar o backup).

Até +

  



Esconder código-fonte

#!/bin/bash

# backup dos programas instalados

BKP_DIR="/backups/system/dpkg"
BKP_DATE=$(date "+%d-%m-%Y")
BKP_DIR_TMP="$BKP_DIR/ultimo_bkp"
hostname=$(hostname -s)

function backup(){

test ! -d $BKP_DIR && mkdir -p $BKP_DIR
test ! -d $BKP_DIR_TMP && mkdir -p $BKP_DIR_TMP
cd $BKP_DIR_TMP && rm -f $BKP_DIR_TMP/* ;

# Gera o script de restauração (no mesmo diretório do backup).
cat > dpkg-restore.sh << "EOF"
#!/bin/bash

# ============================================================================
dpkg --set-selections < pkg.lst
apt-get update
apt-get dist-upgrade
apt-get dselect-upgrade
apt-get -f install

EOF

chmod +x dpkg-restore.sh

# Gera uma lista com todos os programas instalados e salva no arquivo pkg.lst
dpkg --get-selections -a > pkg.lst

lista=$(ls -t $BKP_DIR_TMP)
# Gera um md5 do script de restauração e da lista de programas para uma posterior análise.
(find $lista -type f -print0 | xargs -0 md5sum > $BKP_DIR_TMP/$hostname-$BKP_DATE.md5) && sync ;

lista2=$(ls -t $BKP_DIR_TMP)
tar -czvf ../$hostname-$BKP_DATE.tgz $lista2
cd $BKP_DIR

# Gera um md5 do backup em formato tar.
md5sum $hostname-$BKP_DATE.tgz > $hostname-$BKP_DATE.tgz.md5

}

backup ;

exit 0

Scripts recomendados

Script para adicionar chave pública

Usando mencoder para capturar vídeos da placa BT878

Configurar usuarios samba na boa sem dor de cabeça em modo texto

Script de instalação do Mplayer, com todas as fontes e codecs - new release

Script para preparar o pc para receber e gerenciar celular MOTOROLA (refeito o script)


  

Comentários
[1] Comentário enviado por evaldoavelar em 26/10/2009 - 12:33h

Script muito interessante!

Mas deve-se tomar cuidado com bakups de arquivos binários, pois se o sistema tiver sido invadido por um cracker, provavelmente ele instalará rootkits colocando backdoors nos arquivos binários.

O melhor momento para se fazer bakups de binários é após a instalação do sistema com a máquina desconectada da rede, sem contato nenhum com o mundo exterior.

[2] Comentário enviado por removido em 26/10/2009 - 14:26h

Olá evaldoavelar,

Concordo com você quando diz "O melhor momento para se fazer bakups de binários é após a instalação do sistema".
Não sei se você entendeu direito o que esse script faz exatamente:

Ele gera uma lista com os nomes dos programas instalados e em seguida gera um shell script para fazer uma atualização do sistema, instalando os programas que fazem parte da lista. Não é gerado backup de nenhum binário. Quando executamos o script gerado pelo backup, o dpkg verifica o que deve ser instalado e em seguida o apt-get faz o update e upgrade utizando o /etc/apt/sources.list original, baixando os pacotes do repositório oficial e não de um backup.

Até +

[3] Comentário enviado por guicampos26 em 26/03/2016 - 16:47h

Primeiramente, parabéns pelo artigo. Muito bom.
Tenho uma dúvida. Uso hoje o Ubuntu 14.04 e assim que sair a versão LTS do 16.04 instalarei. Posso usar este script tranquilamente? Ou teria algum problema? Tipo, fazer o backup, formatar com o 16.04 e executar este script. Ou me aconselha a reinstalar um por um dos meus programas?

"O conhecimento é o único bem que quanto mais se compartilha, mais se aumenta. E jamais o tirarão de você".


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts