Fazer backup de todo o SO


20

Eu tenho que formatar meu disco inteiro e reinstalar o Ubuntu.

Eu instalei muitos softwares no meu sistema atual. E terei que reinstalar todas essas atualizações, drivers e aplicativos também.

Existe alguma maneira de criar uma imagem .iso do meu Ubuntu instalado, juntamente com todo o software, preferências, drivers etc.?

Existe alguma maneira de fazer backup de todo o meu sistema operacional, juntamente com todos os seus softwares, unidades, atualizações e tudo?


3
Fazer o backup de todo o sistema operacional é uma pergunta válida, no entanto, o motivo que você indica: "Tenho que formatar todo o meu disco e reinstalar o Ubuntu" parece estranho. Por que você deseja formatar o disco que possui quando deseja reinstalar realmente tudo o que possui atualmente?
Martin

Você pode pensar no porquê do linux ter partições, e aqui está um guia muito bom para falar sobre isso: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Visualização elíptica

Respostas:



21

O que você pode fazer é fazer backup do diretório inicial e salvar uma lista de todos os pacotes que você instalou. Para salvar a lista de software instalado, use o seguinte comando:

sudo dpkg --get-selections > package_list

Isso criará um arquivo com uma lista de todos os pacotes / softwares instalados neste sistema. Você precisará fazer backup desse arquivo em um local seguro.

Então, quando você reinstalar o ubuntu em sua máquina, poderá usar o seguinte comando para instalar todos esses softwares

sudo dpkg --set-selections < packages_list

Este comando NÃO instalará nada. Apenas marcará os pacotes para instalação. Para instalá-los, execute o seguinte comando:

sudo apt-get -u dselect-upgrade

Isso levará algum tempo para ser concluído, pois seu sistema fará o download e instalará todos os pacotes. Após a conclusão deste comando, substitua o diretório inicial atual pelo que você fez backup anteriormente.

Espero que isto ajude


mas não preciso reinstalar os pacotes em um novo Ubuntu instalado?
Avinash Sonawane

@Avinash: esse comando irá reinstalar os pacotes no Ubuntu instalado recentemente
Jeremy Kerr

@ Jeremy- quero dizer .. esse comando irá buscar (baixar) os pacotes e instalá-los ou não preciso baixar nada do que baixei até agora? Na verdade, eu não quero baixar nada que eu já tenha, pois consome uma quantidade considerável de tempo para baixar esses dados enormes.
Avinash Sonawane

@ Avinash: desculpe, esqueci de adicionar o comando para atualizar. Eu atualizei a resposta plz check.
binW

Não é exatamente o método que eu usaria, mas o efeito geral é o mesmo.
MBraedley

10

Eu respondi "Como personalizar o CD ao vivo do Ubuntu?" com uma maneira de criar CDs ao vivo a partir de instalações atuais. Isso significa que você não precisará baixar todos os pacotes novamente. Este guia pode parecer longo e difícil, mas é principalmente "acompanhar" e "copiar e colar". Aqui está, copiado e editado um pouco:

Criando um CD ao vivo a partir de uma instalação existente / nova

Uma boa maneira seria criar um CD ao vivo a partir de uma instalação atual. Isso pode ser feito usando uma máquina virtual (apenas não instale nenhuma ferramenta de VM no sistema operacional convidado)

Portanto, primeiro precisamos de uma nova instalação (se você não conseguir instalá-la de verdade, tente usar uma máquina virtual) com apenas as coisas que você precisa (no seu caso, thunderbird, samba e ssh). Depois ajustamos o sistema e registramos onde estão os ajustes (por exemplo, você altera o plano de fundo da área de trabalho, as configurações estão em ~ / .gconf ou você adiciona atalhos do firefox, eles estão localizados em ~ / Desktop). Isso é necessário para a etapa 4.

  1. Configure algumas variáveis:

    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    

    Substitua ~ / temp por um caminho para um diretório temporário no qual trabalharemos. Substitua ~ / livecd por um caminho para a árvore do CD.

  2. Faça a estrutura da pasta. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Agora precisaremos instalar alguns pacotes:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Agora copiaremos a instalação atual, modificaremos os sinalizadores de exclusão para atender às suas necessidades:

    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    

    Se você tiver uma partição de inicialização separada, execute o seguinte: sudo cp -av /boot/* ${WORK}/rootfs/boot
    Se você deseja copiar as configurações e os arquivos do usuário, modifique esta lista conforme necessário: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' E agora copiamos suas configurações e arquivos:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Agora, entramos no novo sistema e o modificamos.

    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    

    Os próximos comandos são feitos no chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper contém scripts ao vivo. Agora o instalador (versão gnome) apt-get install ubiquity ubiquity-frontend-gtk Ou se você quer o KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Atualize modules.dep e initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Remova usuários que não são do sistema - não se preocupe, copiamos as configurações e os dados no "esqueleto" dos usuários. Isso significa que todos os novos usuários os terão.

    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Limpar:

    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Saia do chroot. exit

  10. Agora, copiamos o kernel:

    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Para que o instalador não instale coisas como casper:

    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Desmonte o que montamos:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Converta em squashfs:

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Crie filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. E md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. Agora grub.cfg:

    sudo nano ${CD}/boot/grub/grub.cfg
    

    (substitua o nano pelo seu editor de texto favorito, não importa) Cole isso e salve:

    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Faça o CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. Teste-o usando uma máquina virtual!

Todo o crédito vai para o capink, porque o guia é daqui .


@ nickguletskii- Desde que sou completamente novato, existe algum software para fazer isso? A propósito, obrigado pela sua resposta.
Avinash Sonawane

@Avinash remastersys e / ou Ubuntu Customization Kit.
Uri Herrera

@Avinash Sonawane Será uma rotina simples de copiar e colar, basta pegar os comandos e executá-los.
Nickguletskii

Desde que eu sou totalmente um novato ... eu preferi o Remastersys em vez de apenas copiar e colar e tantos comandos. Pela maneira como esses comandos funcionavam.! :) Obrigado @nickguletskii :)
Avinash Sonawane

@ Avinash Sonawane Sem problemas, e obrigado por verificar! :)
nickguletskii

5

Na China, alguns amigos usam o ucloner no Ubuntu para fazer backup do sistema operacional.

https://code.google.com/p/ucloner/

O UCloner é uma ferramenta de backup / restauração / clone projetada para Ubuntu Linux. De alguma forma, é como o Norton Ghost para Windows.

Com o UCloner, você pode fazer backup do seu sistema Ubuntu em um arquivo de imagem squashfs. Diretamente deste arquivo de imagem, você pode inicializar um PC no chamado ambiente "Live Ubuntu" (precisa do pacote "casper").

Um sistema ubuntu ativo pode clonar-se em algumas partições de destino com a ajuda do UCloner. Lembra do agente Smith em Matrix? sim, é isso.

Possui linha de comando e interface gráfica. É mais flexível ao executar na interface da linha de comandos.

O UCloner é um software livre, distribuído sob a GPL v2.

insira a descrição da imagem aqui


3

Se você possui o Ubuntu instalado em um único disco rígido e possui outro disco com capacidade igual ou maior de armazenamento, a clonagem do disco é realmente simples:

sudo dd if=/<from disk> of=<to disk>

Então, por exemplo, se você deseja clonar sda para sdb, faria sudo dd if=/dev/sda of=/dev/sdb. Isso manteria todas as partições, gerenciador de inicialização, etc.

Cuidado para usar o if correto (arquivo de entrada) e o (arquivo de saída). O arquivo de entrada é o disco que você deseja copiar. Se você alternar a ordem, clonará o disco vazio no disco completo, o que deixará dois discos em branco. :)

Verifique também se o novo disco possui espaço suficiente para clonar o primeiro disco. Caso contrário, ele será cortado no final. Não haverá avisos.

Se você deseja criar uma imagem, basta substituir of=/dev/sdbpor of=/some_place/disk-image.raw. Armazene-o em outro disco.


Eu não tenho nenhum disco rígido externo extra. Eu só quero restaurar ou fazer backup de todo o sistema operacional, juntamente com todas as atualizações, drivers e tudo em um único arquivo .iso. de modo que quando eu vou formatar meu disco e reinstalar o Ubuntu não vai ser o download e reinstalar esse enorme quantidade de dados (softwares, drivers etc.)
Avinash sonawane

certo. Então, como eu disse na última linha: dd if = / dev / disktobackup of = somefile.img. Essa será uma cópia completa do disco, então você precisará armazená-lo em algum lugar. Os arquivos ISO são chamados assim devido ao sistema de arquivos ISO9660 usado nos CD-ROMs. Nós geralmente os chamamos de cru ou img ou algo assim quando visualizamos um disco rígido.
Jo-Erlend Schinstad

@ jo-erlend, então funcionará movendo-se de uma partição para outra? O gerenciador de inicialização e todo tipo de coisa?
Hari KT

1

Eu tenho um script que migra uma instalação do Ubuntu para outro local, por exemplo, no seu caso, você pode migrá-lo para um disco rígido externo. O mais interessante é que você pode inicializá-lo independentemente e confirmar se está funcionando antes de formatar sua unidade antiga. É uma cópia exata - não é necessário configurar, reinstalar ou ajustar. Você apenas precisa preparar a partição de destino. (Também não modifica a instalação atual, para que você possa testar a migrada antes de formatar a antiga.)

http://ubuntuforums.org/showthread.php?t=1519354

(Sim, é a migração do wubi, mas também faz migrações normais. Eu o uso o tempo todo para fazer backup e restaurar instalações diferentes)


1

Depois de obter todos os seus dados e reinstalá-lo, tente usar o Clonezilla para tirar uma imagem do seu sistema operacional. Se algo der errado, basta aparecer na imagem do sistema operacional e seu sistema voltará para onde estava.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.