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.891 ]
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é +
#!/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
Prova LPI em shell script - com contador de acertos
Gerenciar usuários do OpenLDAP com Sistema ZIMBRA
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









