annakamilla
(usa Manjaro Linux)
Enviado em 21/05/2009 - 16:00h
#!/bin/sh
# Faz backup do backup do apt
# Escrito por Carlos E. Morimoto
echo 'Este script faz backup do conteúdo das pastas /var/cache/apt/archives e
/var/lib/apt/lists/, permitindo salvar o cache do apt-get em um arquivo ISO,
que pode ser gravado em CD e restaurado em outras máquinas.
Este script apenas copia os arquivos, por isso não é necessário executá-lo como
root. Para usá-lo, é necesário ter espaço livre suficiente dentro do seu
diretório home para o equivalente a duas cópias do cache (um para a pasta
temporária e outro para o arquivo ISO).'
echo 'Pressione Enter para gerar o backup'
read pausa
echo "Acessando o home"
cd ~
pwd
sleep 1
echo 'Removendo backups anteriores:
rm -rf apt-cache/
rm -rf apt-cache.iso
'
sleep 1
rm -rf apt-cache/ &>/dev/null
rm -rf apt-cache.iso &>/dev/null
echo 'Criando pasta apt-cache:
mkdir apt-cache
cd apt-cache
'
sleep 1
mkdir apt-cache
cd apt-cache
echo 'Fazendo backup das listas de pacotes:
tar -cvf lists.tar /var/lib/apt/lists/
'
sleep 1
tar -cvf lists.tar /var/lib/apt/lists/ --exclude=lock
echo 'Fazendo backup do cache de pacotes:
tar -cvf archives.tar /var/cache/apt/archives
'
sleep 1
tar -cvf archives.tar /var/cache/apt/archives --exclude=lock
echo 'Fazendo backup do sources.list:
cp /etc/apt/sources.list .
'
sleep 1
cp /etc/apt/sources.list .
echo '#!/bin/sh
# Restaura o cache do apt. Este script deve ser executado como root
# Por Carlos E. Morimoto
if [ "`id -u`" != "0" ]; then
echo "Este script precisa ser executado como root. Digite su - para se logar"
echo "como root e execute o script novamente."
fi
mkdir -p /var/lib/apt/lists
mkdir -p /var/cache/apt/archives
if [ -e "lists.tar" ]; then
echo "Pressione Enter para restaurar os arquivos"
read pausa
tar -xvf lists.tar --directory /
tar -xvf archives.tar --directory /
else
echo "O arquivo lists.tar não foi encontrado. Você esta executando o script"
echo "No mesmo diretorio onde estao os arquivos?"
fi
echo ""
echo "E recomendavel confirmar o conteúdo do arquivo /etc/apt/sources.list,"
echo "que deve ser igual ao arquivo na maquina onde o backup foi feito."
echo "Verifique a cópia do arquivo original, que foi incluida na imagem."
' > restaurar-apt-cache.sh
chmod +x restaurar-apt-cache.sh
echo "Preparando para criar a imagem ISO, seja paciente"
sleep 1
cd ..
mkisofs -pad -l -r -J -v -V "Cache do apt" -o apt-cache.iso apt-cache/
echo "Gerado o arquivo /home/$USER/apt-cache.iso"
echo 'Você pode gravá-lo em CD ou simplesmente copiá-lo em um pendrive ou
outra unidade de armazenamento. Use o script "restaurar-apt-cache.sh"
dentro da imagem para restaurar o cache, como em:
# cd /media/cdrom
# ./restaurar-apt-cache.sh
Ele precisa ser executado como root (ou usando o sudo), para que possa
modificar as pastas do sistema.
Você pode montar o arquivo iso sem precisar queimar o CD usando o comando:
# mount -o loop apt-cache.iso /mnt/cdrom
... como root.'