Questão Como fazer backup de configurações e lista de pacotes instalados


Se eu quiser fazer um backup de tudo o que fiz desde a nova instalação do Ubuntu, quais são as opções possíveis? O que tudo eu deveria fazer backup? Eu quero pegar todas as configurações que eu mudei, todos os pacotes que eu instalei, etc.


252
2017-10-24 00:36


origem


Ninguém mencionou: sudo dpkg -l > installed_software.txt! - iammilind
@iammilind Provavelmente porque dpkg --get-selections soluções cobrem isso. - belacqua
Tenha cuidado com esse bug: bugs.launchpad.net/ubuntu/+source/policykit-desktop-privileges/… Eu tentei a solução mais votada e nunca consegui trabalhar por causa desse bug. (Isso pode ser mais adequado como comentário, mas não tenho reputação suficiente para publicá-lo como comentário) - Jonathan
esteja ciente também de que, se você estiver restaurando em uma versão mais recente do sistema operacional, algumas configurações podem estar incompletas ou até conflitar, com a possibilidade de causar o mau funcionamento de alguns aplicativos. - Aquarius Power
Relacionado: O que posso fazer para tornar a transição para um novo hardware de computador segura e suave? - David Cary


Respostas:


Programas

Uma maneira rápida de fazer backup de uma lista de programas é executar isto:

dpkg --get-selections > ~/Package.list
sudo cp -R /etc/apt/sources.list* ~/
sudo apt-key exportall > ~/Repo.keys

Ele fará o backup em um formato que o dpkg possa ler* para depois de reinstalar, assim:

sudo apt-key add ~/Repo.keys
sudo cp -R ~/sources.list* /etc/apt/
sudo apt-get update
sudo apt-get install dselect
sudo dselect update
sudo dpkg --set-selections < ~/Package.list
sudo apt-get dselect-upgrade -y

* Você pode ter que atualizar a lista de pacotes disponíveis do dpkg ou simplesmente ignorar suas seleções (veja esse bug debian para mais informações). Você deveria fazer isso antes sudo dpkg --set-selections < ~/Package.list, como isso:

apt-cache dumpavail > ~/temp_avail
sudo dpkg --merge-avail ~/temp_avail
rm ~/temp_avail

Configurações e dados pessoais

Antes de reinstalar, você provavelmente deveria fazer o backup das configurações de alguns de seus programas, isso pode ser feito facilmente pegando pastas do / etc e todo o conteúdo do seu diretório de usuários (não apenas as coisas que você pode ver no nautilus!):

rsync --progress /home/`whoami` /path/to/user/profile/backup/here

Depois de reinstalar, você pode restaurá-lo com:

rsync --progress /path/to/user/profile/backup/here /home/`whoami`

Então, todos juntos como um script pseudo-bash.

Isso pressupõe que há apenas um usuário na máquina (remova /'whoami' caso contrário) e que você usou o mesmo nome de usuário em ambas as instalações (modifique o destino do rsync caso contrário).

dpkg --get-selections > ~/Package.list
sudo cp -R /etc/apt/sources.list* ~/
sudo apt-key exportall > ~/Repo.keys
rsync --progress /home/`whoami` /path/to/user/profile/backup/here

##  Reinstall now

rsync --progress /path/to/user/profile/backup/here /home/`whoami`
sudo apt-key add ~/Repo.keys
sudo cp -R ~/sources.list* /etc/apt/
sudo apt-get update
sudo apt-get install dselect
sudo dpkg --set-selections < ~/Package.list
sudo dselect

260
2018-01-28 00:19



Isso não funcionará no Ubuntu 12.10. diz dpkg: warning: package not in database at line XXX: xrdp E não há pacote pelo nome "dselect" - confiq
@confiq Confira os três comentários acima - Huckle
blah ... para resolver o aviso do dpkg, leia isto: forums.debian.net/viewtopic.php?f=17&t=79006#p432478 - confiq
Lembre-se de fazer backup e adicionar novamente o diretório sources.d - o ppa, especialmente, vai acumular informações de origem em arquivos separados. A reinstalação falhará sem eles. - balloons
Restaurado. Ficou desapontado como todas as configurações relacionadas DesktopEnv (lançador, animação, tweets compiz, plano de fundo da área de trabalho) não foram restauradas. Comumente: Todos residem no dconf! Solução: dentro da GUI, Log Out através do ícone de engrenagem na barra de menu principal. Então mude para um CLI via CTRL-ALT-F1. Lá, restaure o arquivo .config / dconf / user do seu backup. Volte para a GUI via CTRL-ALT-F7, faça o login novamente. Voila: Todas as suas configurações relacionadas à Unidade estão em vigor novamente! Tentativa de explicação: Enquanto uma sessão ativa da GUI do Unity o arquivo dconf pode ser bloqueado ou ignorado, você precisa mudar para um modo CLI puro? - porg


Para quem é isso: os usuários que têm uso regular normal de seus computadores, que fizeram configurações mínimas ou nenhuma configuração fora de sua pasta pessoal, não atrapalharam os scripts e serviços de inicialização. Um usuário que deseja que seu software seja restaurado como era quando o instalou, com todas as personalizações sendo feitas e mantidas em sua pasta pessoal.

Para quem isso não serve: servidores geeks, usuários avançados com software instalado por fonte (a restauração da lista de pacotes pode quebrar seu sistema), usuários que mudaram o script de inicialização de algum aplicativo para se adequar melhor às suas necessidades. Atenção: existe uma grande chance de que quaisquer modificações fora de casa sejam por escrito.

Faça backup de seus pacotes atuais e configurações do usuário


Quando estiver pronto com o seu sistema e feliz com o software instalado, você pode obter uma lista dos pacotes instalados usando o comando dpkg --get-selections e salve a saída em um arquivo de log.

Crie um backup pasta em sua casa

sudo mkdir ~/backup

Salvar a lista de pacotes atualmente instalados

dpkg --get-selections > ~/backup/installed_packages.log

Faça um backup do seu arquivo de fontes apt

sudo cp /etc/apt/sources.list ~/backup/sources.bak

e uma cópia da lista do seu apt de chaves confiáveis

sudo apt-key exportall > ~/backup/repositories.keys

Faça um backup de sua pasta pessoal com a ferramenta de backup integrada no Ubuntu, Deja-dup.

  • Definir a pasta de backup

enter image description here

  • Verifique se ele fará um backup de sua pasta pessoal e adicione as pastas que você não deseja, como, por exemplo, Trash pasta

enter image description here

  • Na guia de visão geral, pressione Faça backup agora fazer backup de sua pasta pessoal

enter image description here

  • A ferramenta de backup perguntará se você deseja adicionar uma senha ao seu backup, a sua escolha. Seu backup será iniciado depois que você pressionar Continuar

enter image description here

Quando isso for feito, você terá um backup de seus pacotes e arquivos de configuração em relação ao seu usuário. Se, quando necessário, você conseguir restaurar seus arquivos a partir do ~/backuppasta.

Restaurando seu backup


Comece restaurando o arquivo de origem do backup feito

sudo cp ~/backup/sources.bak /etc/apt/sources.list

As chaves de backup

sudo apt-key add ~/backup/repositories.keys

Atualize suas listas de fontes

sudo apt-get update

Restaurar os pacotes dos salvos installed_packages.log

sudo dpkg --clear-selections
sudo dpkg --set-selections < ~/backup/installed_packages.log && sudo apt-get dselect-upgrade

sudo dpkg --clear-selections marcará todos os pacotes atuais instalados para remoção, assim, quando você restaurar a lista de pacotes salvos, os pacotes que não estiverem na lista serão removidos do sistema.

Remova sua configuração atual da sua casa criando um backup da pasta em seu estado atual (afinal, qual a utilidade de restaurar arquivos novos se houver outros que possam afetar a configuração?)

mkdir ~/.old-gnome-config/ && mv ~/.gnome* ~/.old-gnome-config/ && mv ~/.gconf* ~/.old-gnome-config/ && mv ~/.metacity ~/.old-gnome-config/ && mv ~/.cache ~/.old-gnome-config/ && mv ~/.dbus ~/.old-gnome-config/ && mv ~/.dmrc ~/.old-gnome-config/ && mv ~/.mission-control ~/.old-gnome-config/ && mv ~/.thumbnails ~/.old-gnome-config/   && ~/.config/dconf/* ~/.old-gnome-config/

Depois disso, restaure o backup criado com o Deja-dup.

  • Abra a ferramenta de backup e, na guia Visão geral, pressione Restaurar

enter image description here

  • Siga as instruções para restaurar os arquivos em suas posições originais

enter image description here

Depois disso, você terá seus pacotes de volta para a seleção salva, nossa configuração restaurada e esperançosamente um desktop de trabalho, tudo isso sem instalar um único aplicativo extra e usar as ferramentas padrão do Ubuntu.

A única coisa que resta é fazer alguma limpeza e verificar se tudo está funcionando.

Algo deu errado, meu desktop desapareceu


Existem algumas postagens no Ask Ubuntu que podem orientá-lo em caso de algo errado e você precisa redefinir seu desktop. Se algo estiver errado e você se encontrar precisando, por favor dê uma olhada nestes posts:


46
2018-01-28 02:20





Backups tomam algum planejamento e existem várias estratégias viáveis. Você terá que decidir qual método funciona melhor para você.

Tenha cuidado com a "melhor maneira", o que funciona melhor para uma pessoa pode não ser o melhor para outra.

No final do dia, o "melhor método" é aquele que foi testado e conhecido por funcionar. Você precisa testar sua estratégia de backup ANTES de precisar

Usando imagens

Uma maneira é simplesmente copiar e compactar uma imagem de suas partições. Você pode fazer isso com várias ferramentas, qualquer coisa de dd a partimage para clonezilla

partimage
clonezilla

A vantagem dessa estratégia é que ela é (relativamente) fácil e muito completa. A desvantagem é que as imagens de backup são grandes.

Backups menores

Você pode fazer backups menores apenas fazendo backup de dados e configurações. Existem várias ferramentas para fazer isso, tudo de dd para tar para rsync.

A chave aqui é saber o que você precisa fazer backup.

Vantagem - os backups serão menores.
Desvantagem - Este é um método manual, por isso é fácil esquecer um arquivo crítico (/ etc / passwd).

Uma lista do que voltar sempre precisará ser revisada para garantir que a lista esteja completa.

1) Lista de pacotes instalados

Lista de pacotes     # Crie uma lista de texto de uma instalação existente de todos os pacotes apt-get instalados     # para reinstalar em uma distro recém-instalada

# make the list
[old distro] sudo dpkg --get-selections > packages

Você executaria uma nova instalação e restauraria seus pacotes. Os seguintes comandos também atualizam todos os pacotes em seu sistema (para restaurar e atualizar todos de uma vez).

# Now put them back on the new distro
[new distro] sudo dpkg --set-selections < packages

[new distro] sudo apt-get dselect-upgrade

2) Dados. Geralmente isso seria / home. A maioria dos dados e personalizações do usuário estarão no diretório inicial dos usuários. Se você salvar dados em outros locais, inclua isso (por exemplo / media / data).

3) configurações de sistema . Aqui é onde haverá alguma variação. Pessoalmente, se eu editar QUALQUER configuração do sistema, mantenho uma cópia do arquivo de configuração original e meu arquivo personalizado em / root. Então, se eu editar /etc/fstab por exemplo, mantenha uma cópia em / root / etc / fstab e original em /root/etc/fstab.orig

Você também vai precisar /etc/passwd, /etc/shadow , /etc/group , /etc/sudoers, /etc/hostnamee /etc/hosts (você pode precisar de mais em / etc, se eu esqueci alguma coisa eu vou adicionar)

Em um servidor, você pode precisar incluir /var/www ou outros diretórios de dados.

Eu entendo isso leva algum esforço, então, pode ser mais fácil incluir todos /etc.

4) Uma cópia do seu disco tabela de partições.

sudo fdisk -l > fdisk.bak

Você pode usar essas informações para restaurar a tabela de partições se substituir o disco rígido.

5) Uma cópia do seu MBR 

dd if=/dev/sda of=MBR.bak bs=512 count=1

Você restauraria com

dd if=MBR.bak of=/dev/sda bs=512 count=1

6) Outros arquivos / diretórios - Dependendo do seu sistema e personalização, você pode precisar incluir diretórios adicionais. Considerações podem incluir /opt , /usr/local, / usr / share` e / ou seus arquivos .desktop. Qualquer coisa no seu sistema que você baixou ou personalizou fora do apt-get ou gerenciador de software.

7) Coloque tudo isso em um arquivo

tar -cvpzf backup.tar.gz /home /root /etc ./MBR.bak ./fsdisk.bak ./packages

8) rsync

Como alternativa ao tar, você pode usar o rsync.

Vejo - https://help.ubuntu.com/community/rsync

Backups de rede

Outra opção é usar o NFS ou o Samba para fazer backup de dados.

Cron

Você pode automatizar os backups gravando um script de backup e executando-o (diário / horário) com o cron.

Restaurar

1) Usando um live CD, restaure suas partições usando gparted ou fdisk a partir das informações em fdisk.bak
2) Instale o Ubuntu.
3) Inicialize sua nova instalação, atualize seus pacotes.
4) Restaure seus dados e configurações

tar -xvpzf /home/test/backup.tar.gz -C / 

Então reinicie

Veja também - https://help.ubuntu.com/community/BackupYourSystem/TAR

Outras estratégias

Existem muitas estratégias adicionais para backup, algumas para fazer backup apenas do seu diretório home, algumas gráficas.

Vejo: https://help.ubuntu.com/community/BackupYourSystem

Testando

Não é um backup, a menos que seja testado. Isso é mais importante quando você NÃO está usando uma imagem da sua partição raiz.

Teste a restauração de seu sistema em uma VM, em um computador reserva ou em uma partição ou disco rígido reserva.


26
2018-01-28 20:17



Ótima resposta! Uma adição, do site PartImage: PartImage não suporta partições Ext4, e o padrão do Ubuntu é o formato do sistema de arquivos Ext4. Eu soube que o PartClone (que suporta Ext4) é uma boa alternativa. Você também pode querer olhar para CloneZilla. - LIttle Ancient Forest Kami


Seleção de Pacotes Instalados usando apt-clone

Clone APT. Este pacote pode ser usado para clonar / restaurar os pacotes em um apt baseado   sistema. Ele salvará / restaurará os pacotes, sources.list, keyring e   estados instalados automaticamente. Também pode salvar / restaurar não mais   pacotes para download usando o dpkg-repack.

APT-Clone é usado por ubiquity(Instalador do Ubuntu) para o processo de atualização.

  1. Instalar

    sudo apt-get install apt-clone
    
  2. Faça backup

    sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. Restaurar backup

    sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    Restaurar para versão mais recente:

    sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

Referência:  man apt-clone


Dados Domésticos, Configuração /etc, usando duplicity

Duplicidade faz o backup de diretórios produzindo volumes criptografados em formato tar   e carregá-los para um servidor de arquivos remoto ou local. Porque duplicidade   usa librsync, os arquivos incrementais são eficientes em termos de espaço e   registre as partes dos arquivos que foram alterados desde o último backup.   Como a duplicidade usa o GnuPG para criptografar e / ou assinar esses arquivos, eles   estará a salvo de espionagem e / ou modificação pelo servidor.

  1. Instalar

    sudo apt-get install duplicity
    
  2. Cópia de segurança

    duplicity full path-to/source_folder/ file:///path_to/duplicity_backups/
    

    ou backup incremental (Ele fará backup apenas da diferença do último backup):

    duplicity incremental path-to/source_folder/ file:///path_to/duplicity_backups/
    
  3. Restaurar

    duplicity restore file:///path_to/duplicity_backups/ path-to/target_folder/
    

Referência:  man duplicity


18
2018-06-22 08:56



O APT-Clone é muito melhor que o dpkg --get-selections solução porque: 1. ele preserva todas as informações dos repositórios 2. ele mantém o controle de quais pacotes foram instalados automaticamente 3. ele permite reempacotar os arquivos DEB instalados localmente. Esta deve ser a resposta aceita! - Andrea Lazzarotto
Isso é ótimo! Espero que estes funcionem com 16.04, é exatamente o que estou procurando. Mas eu estou querendo saber, o Apt-Clone também removerá pacotes que não estão na configuração restaurada? - Dorian
@ XToro, Não, não irá remover. (btw, se ele estava removendo pacotes por padrão, isso danifica a atualização, porque a maioria dos upgrades tem novos pacotes instalados e alguns dropados) - user.dz
@Sneetsher Isso é uma vergonha. Eu realmente gostaria de ter removido todos os pacotes que não estão na lista e, em seguida, instalar os listados junto com suas dependências. Meu problema com porque eu quero usá-lo é remover pacotes indesejados depois de brincar com coisas como instalar novos DEs. Há sempre toneladas de sobras depois de remover o DE. - Dorian
@XToro, eu gosto disso, eu precisei disso antes, mas fui testar em caixas virtuais. Você precisa de um script modificado Huckle's answer. É melhor fazer uma nova pergunta e mencionar a questão com essa. Se você é incapaz ou não quer por alguns motivos, eu farei isso? - user.dz


Embora esta questão tenha sido respondida durante algum tempo, notei que ninguém mencionou o etckeeper. Corre apt-get install etckeeper, configure seu VCS em /etc/etckeeper/etckeeper.confe, a partir daí, você terá um controle muito melhor do seu diretório / etc. Isso pode Além disso ser usado para restaurar suas configurações dentro do diretório / etc.

Por exemplo, (supondo que você configurou o git como seu VCS) faça o backup /etc/.git diretório. Sempre que você precisar restaurar suas configurações em um / etc fresco, copie o diretório /etc/.git de backup para o diretório / etc fresco. Agora você tem muitas opções para gerenciar sua restauração:

  • Veja as diferenças
    • git diff
  • Mantenha todas as diferenças no diretório "fresh" em um branch git
    • git checkout -b new; git add -A; git commit -m 'new etc'
  • Incondicionalmente reverter para o seu backup
    • git clean -f

14
2017-11-17 18:26





Para aqueles que querem um bom. GUI puro ...

... introduzindo o Aptik.

Tudo o que você precisa é de um diretório de backup, armazenado localmente ou na nuvem. Aptik fará backup de PPAs, pacotes baixados, seleções de software, configurações de aplicativos e temas e ícones. Muito útil.

Você pode instalá-lo através do ppa:

sudo apt-add-repository –y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik

Espero que isso ajude :)


10
2017-10-15 11:08



sudo apt-add-repository –y ppa:teejee2008/ppa deveria estar sudo apt-add-repository ppa:teejee2008/ppa. Apenas 1 argumento aceito. - erm3nda
Essa é a opção mais realista para alguém que deseja fazer um backup selecionável de todo o sistema e do usuário. Btw, a versão atual suporta muito mais configurações do que é mostrado nessa captura de tela. - erm3nda


Para criar uma lista de backup de todos os seus programas instalados: http://savvyadmin.com/backup-and-restore-package-lists-in-ubuntu/
Você obviamente precisará fazer backup de suas fontes de software de que alguns desses pacotes instalados são de: Fontes de software de backup

Quanto às configurações do programa, a maioria delas está oculta (comece com .) pastas e arquivos em sua pasta pessoal. Eu apenas faria backup de todos eles.


9
2017-10-24 03:52



E o diretório backup / etc também - Extender


Quero ter aplicativos prontos para restauração e seus dados, também off-line.

Isso anula o propósito de um "formato e instalação". Se você quiser fazer isso, basta fazer uma atualização da sua instalação existente no Ubuntu.

Como a "instalação" no Ubuntu é tão simples quanto entrar no Centro de Software (ou Synaptic ou apt-get), ea maioria dos programas são atualizados com freqüência, não há nenhum ponto real em fazer o backup dos programas, reinstalar o Ubuntu e depois fazer a instalação a partir dos backups, em vez de apenas obter as versões mais recentes dos repositórios.

Contanto que seus dados e configurações do programa sejam copiados, você deve estar bem. Se você ainda quiser uma lista abrangente de tudo em seu sistema para saber se um pacote está faltando, basta acessar o terminal e digitar dpkg --list > mypackages.txt, e colocar esse arquivo de texto em algum lugar seguro - ele contém cada pacote já instalado em seu sistema atual.


2
2018-05-21 03:23





Eu suponho que é um novo HDD, SSD ou novo sistema ou você tinha em um antigo Ubuntu. Agora você quer atualizar para o Ubuntu 12.04 (Precise Pangolin)?

Eu suponho que você detesta instalá-los novamente ou reconfigurar? Não precisa de.

Abra o terminal pressionando Ctrl + Alt + Te execute o seguinte comando:

sudo dpkg --get-selections > app-backup-list.txt

Então cp o arquivo de texto para o seu diretório home por:

sudo cp app-backup-list.txt /home/username

Em seguida, execute o aplicativo de backup nas configurações do sistema na barra lateral.

Cópia de segurança /home para o Ubuntu One, um flash stick, um disquete (oops scratch) ou gravar em um CD, ou outro disco rígido no sistema ou disco rígido externo ou usar qualquer programa de backup que você deseja.

Em seguida, inverta o backup usando restore, escolha o programa de backup que você usou e agora \ home está de volta.

Por fim, inverta a dkpg comando:

sudo dpkg --get-selections < app-backup-list.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Nota:

Restaurando a casa, obtém todas as configurações para seus aplicativos. Eu instalei um SSD e copiei todos os arquivos, mas ainda assim fiz um backup por precaução.

PS: Isso evita, na verdade, o backup do código de máquina dos aplicativos em massa, etc. Verifique se a pasta de download está limpa. Não está cheio de código de máquina ou vídeos e, em seguida, grave o download pasta para um DVD usando o k3B.


2
2017-08-21 17:23





Se o espaço de armazenamento não for uma preocupação, o uso de dd ou dc3dd fará backup de absolutamente tudo no disco de destino ou na partição designada. Você não quer tentar isso em uma unidade montada, então você faria isso de um USB ou DVD inicializável (ou sua mídia de instalação escolhendo "Try Ubuntu"):

sudo dd if=/dev/<source> of=/path/<target>.img

Onde o disco ou a partição que você deseja fazer backup e destino é o nome do arquivo de backup (muitas vezes o mesmo) (sda, sda1).

Substitua dc3dd por dd se você quiser um relatório de progresso. Para acessar arquivos específicos no backup, normalmente você pode montar o arquivo .img resultante como um dispositivo de loop:

mount -o loop,ro,offset=32256 filename.img /mnt/dir Isso funciona em unidades com uma única partição em que você fez o backup de toda a unidade.

Ou mount -o loop,ro filename.img /mnt/dir se você fez backup de uma partição.

Você pode restaurar todo o disco ou partição trocando os parâmetros if = e de = como em:

sudo dd if=/path/<source>.img of=/dev/<target>

Onde está o arquivo de imagem que você deseja restaurar e <target> é a unidade ou partição para a qual você deseja restaurá-lo.

PROS: Fácil de backup e fácil de restaurar tudo. Ao contrário de algumas outras soluções, na verdade não requer muito planejamento, já que você está fazendo o backup de tudo que você não precisa se preocupar se vai precisar ou não.

CONS: Demora (tempo do computador, não seu) e não é adequado para backup diário (sem opções incrementais)

Fonte: experiência; Eu uso essa abordagem para sistemas de backup do cliente antes de começar a trabalhar e nunca perdi um pouco de dados do cliente.


2
2018-05-21 18:31





Eu encontrei outra solução:

Confira APTonCD. Ele fará o backup de todos os seus aplicativos e os colocará em uma imagem ISO.


1
2017-07-05 16:38