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.936 ]
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
Configuração do repositório do Slackware Current
Backup automatico em dois computadores via local e NFS
Script em Dialog pesquisa nome do banco no mysql
Script para instalação completa do XEN 3.4.0 através do source ( fonte ).
burncd - programa para gravar ISOs
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Boas Práticas e Padrões Idiomáticos em Go e C
Vale a pena ter mais de uma interface grafica no seu Linux?
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Instalando o Tema de Ícones Tela Circle
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Instalação Dual Boot Linux+Windows 11 (4)
No Ubuntu 26.04, sudo passou a mostrar os asteriscos ao digitar por pa... (5)
Como instalar Warsaw no Gentoo? (0)
Como insiro e excluo um elemento XML e JSON ao código Javascript (1)









