Backup dell'intero sistema operativo


20

Devo formattare tutto il mio disco e reinstallare Ubuntu.

Ho installato molti software sul mio sistema attuale. E dovrò reinstallare anche tutti quegli aggiornamenti, driver e applicazioni.

Esiste un modo per creare un'immagine .iso del mio Ubuntu installato insieme a tutto il software, le preferenze, i driver ecc.?

Esiste un modo per eseguire il backup di tutto il mio sistema operativo insieme a tutto il software, le unità, gli aggiornamenti e tutto il resto?


3
Il backup dell'intero sistema operativo è una domanda valida, tuttavia, il motivo fornito: "Devo formattare l'intero disco e reinstallare Ubuntu" sembra strano. Perché dovresti voler formattare il disco che hai quando vuoi reinstallare comunque tutto ciò che hai attualmente su di esso?
Martin,

Potresti voler pensare al motivo per cui Linux ha partizioni, e qui c'è un'ottima guida per parlarne: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Vista ellittica

Risposte:



21

Quello che puoi fare è fare il backup della tua home directory e salvare un elenco di tutti i pacchetti che hai installato. Per salvare l'elenco dei software installati utilizzare il comando seguente:

sudo dpkg --get-selections > package_list

Questo creerà un file con un elenco di tutti i pacchetti / software installati su questo sistema. Sarà necessario eseguire il backup di questo file in un posto sicuro.

Quindi quando reinstalli Ubuntu sul tuo computer puoi usare il seguente comando per installare tutto questo software

sudo dpkg --set-selections < packages_list

Questo comando NON installa nulla. Contrassegnerà solo i pacchetti per l'installazione. Per installarli, eseguire il comando seguente:

sudo apt-get -u dselect-upgrade

Questo richiederà del tempo perché il sistema scarichi e installi tutti i pacchetti. Una volta completato questo comando, sostituisci la tua home directory corrente con quella di cui hai effettuato il backup in precedenza.

Spero che sia di aiuto


ma non devo reinstallare i pacchetti in un nuovo Ubuntu installato?
Avinash Sonawane,

@Avinash: quel comando reinstallerà i pacchetti nell'Ubuntu appena installato
Jeremy Kerr il

@ Jeremy- voglio dire .. quel comando recupererà (scaricherà) i pacchetti e poi li installerà o non devo scaricare nulla di quello che ho scaricato fino ad ora? In realtà non voglio scaricare nulla di ciò che ho già dato che richiede molto tempo per scaricare questi enormi dati.
Avinash Sonawane,

@Avinash: scusa, ho dimenticato di aggiungere il comando per l'aggiornamento. Ho aggiornato il controllo di risposta per favore.
binW

Non proprio il metodo che userei, ma l'effetto complessivo è lo stesso.
MBraedley,

10

Ho risposto "Come personalizzare il CD di Ubuntu live?" con un modo di creare CD live dalle installazioni attuali. Ciò significa che non sarà necessario scaricare nuovamente tutti i pacchetti. Questa guida può sembrare lunga e difficile, ma è principalmente "segui" e "copia e incolla". Eccolo, copiato e modificato un po ':

Creazione di un CD live da un'installazione esistente / nuova

Un buon modo sarebbe quello di creare un CD live da un'installazione corrente. Questo può essere fatto usando una macchina virtuale (basta non installare alcun tool VM nel SO guest)

Quindi, per prima cosa abbiamo bisogno di una nuova installazione (se non puoi installarla per davvero, prova a usare una macchina virtuale) con solo le cose di cui hai bisogno (nel tuo caso thunderbird, samba e ssh). Quindi modifichiamo il sistema e registriamo dove sono le modifiche (ad es. Cambiate lo sfondo del desktop, le impostazioni sono in ~ / .gconf o aggiungete i collegamenti di Firefox, si trovano in ~ / Desktop). Questo è necessario per il passaggio 4.

  1. Imposta alcune variabili:

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

    Sostituisci ~ / temp con un percorso a una directory temporanea in cui lavoreremo. Sostituisci ~ / livecd con un percorso all'albero del CD.

  2. Crea la struttura delle cartelle. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Ora dovremo installare alcuni pacchetti:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Ora copieremo l'installazione corrente, modificheremo i flag di esclusione per adattarli alle tue esigenze:

    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 hai una partizione di avvio separata, esegui questa: sudo cp -av /boot/* ${WORK}/rootfs/boot
    Se vuoi copiare le tue configurazioni e file utente, modifica questo elenco secondo necessità: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' E ora copiamo le tue configurazioni e file:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Ora entriamo nel nuovo sistema e lo modifichiamo.

    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
    

    I seguenti comandi vengono eseguiti in chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper contiene script dal vivo. Ora il programma di installazione (versione gnome) apt-get install ubiquity ubiquity-frontend-gtk O se vuoi KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Aggiorna moduli.dep e initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Rimuovi utenti non di sistema - non preoccuparti, abbiamo copiato le impostazioni e i dati nello "scheletro" degli utenti. Ciò significa che tutti i nuovi utenti li avranno.

    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. Pulire:

    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. Esci da chroot. exit

  10. Ora copiamo il 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. In modo che il programma di installazione non installi cose come 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. Smonta ciò che abbiamo montato:

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

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Crea 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. Ora grub.cfg:

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

    (sostituisci nano con il tuo editor di testo preferito, non importa) Incolla questo e salva:

    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. Crea il CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. Provalo usando una macchina virtuale!

Tutto il merito va al capink, perché la guida è da qui .


@ nickguletskii- Dal momento che sono un principiante, c'è qualche software per farlo? A proposito, grazie per la tua risposta.
Avinash Sonawane,

@Avinash remastersys e / o Ubuntu Customization Kit.
Uri Herrera,

@Avinash Sonawane Sarà praticamente una routine "copia e incolla" semplice, basta prendere i comandi ed eseguirli.
nickguletskii,

Dato che sono totalmente un principiante .. ho preferito Remastersys piuttosto che semplicemente copiare e incollare e che troppi comandi. A proposito, questi comandi hanno funzionato.! :) Grazie @nickguletskii :)
Avinash Sonawane,

@Avinash Sonawane Nessun problema, e grazie per la verifica! :)
nickguletskii il

5

In Cina, alcuni amici usano ucloner in Ubuntu per eseguire il backup del sistema operativo.

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

UCloner è uno strumento di backup / ripristino / clone progettato per Ubuntu Linux. In qualche modo è proprio come Norton Ghost per Windows.

Con UCloner puoi eseguire il backup del tuo sistema Ubuntu in un file immagine di squashfs. Direttamente da questo file di immagine è possibile avviare un PC in un ambiente cosiddetto "Live Ubuntu" (è necessario il pacchetto "casper").

Un sistema Ubuntu attivo può clonarsi in una / alcune partizioni di destinazione con l'aiuto di UCloner. Ricordi l'agente Smith in Matrix? si è così.

Ha sia la riga di comando che l'interfaccia grafica. È più flessibile quando si esegue nell'interfaccia della riga di comando.

UCloner è un software gratuito, distribuito sotto GPL v2.

inserisci qui la descrizione dell'immagine


3

Se hai Ubuntu installato su un singolo disco rigido e hai un altro disco rigido con capacità di archiviazione uguale o maggiore, clonare il disco è davvero semplice:

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

Quindi, per esempio, se vuoi clonare sda ​​su sdb, lo faresti sudo dd if=/dev/sda of=/dev/sdb. Ciò manterrebbe tutte le partizioni, il gestore di avvio, ecc.

Fare attenzione a utilizzare l'if (file di input) e di (file di output) corretti. Il file di input è il disco che si desidera copiare. Se cambi ordine, clonerai il disco vuoto su quello intero, che ti lascerà con due dischi vuoti. :)

Assicurarsi inoltre che il nuovo disco disponga di spazio sufficiente per clonare il primo disco. Altrimenti verrà tagliato alla fine. Non ci saranno avvisi.

Se si desidera creare un'immagine, è sufficiente sostituirla of=/dev/sdbcon of=/some_place/disk-image.raw. Conservalo su un altro disco.


Non ho alcun HDD esterno aggiuntivo. Voglio solo ripristinare o eseguire il backup dell'intero sistema operativo insieme a tutti gli aggiornamenti, i driver n tutti in un unico file .iso. in modo che quando formatterò il mio disco e reinstallerò Ubuntu non scaricherò e reinstallerò quell'enorme quantità di dati (software, driver ecc.)
Avinash Sonawane,

sicuro. Quindi, come ho detto nell'ultima riga: dd if = / dev / disktobackup di = somefile.img. Sarà una copia completa del disco, quindi dovrai archiviarlo da qualche parte. I file ISO sono chiamati così a causa del filesystem ISO9660 utilizzato sui CD-ROM. Di solito li chiamiamo raw o img o qualcosa del genere quando immaginiamo un disco rigido.
Jo-Erlend Schinstad,

@ jo-erlend, quindi funzionerà spostandosi da una partizione all'altra? Il bootloader e tutto il resto?
Hari KT,

1

Ho uno script che migra un'installazione di Ubuntu in un'altra posizione, ad esempio nel tuo caso potresti migrarla su un disco rigido esterno. La cosa bella è che puoi avviarlo indipendentemente e confermare che funziona prima di formattare il tuo vecchio disco. È una copia esatta, non è necessaria alcuna configurazione, reinstallazione o modifica. Devi solo preparare la partizione di destinazione. (Inoltre non modifica l'installazione corrente in modo da poter testare quella migrata prima di formattare quella precedente.)

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

(Sì, è la migrazione wubi, ma fa anche le normali migrazioni. Lo uso sempre per il backup e il ripristino di diverse installazioni)


1

Una volta ottenuti tutti i dati e reinstallati, potresti provare a utilizzare Clonezilla per acquisire un'immagine del tuo sistema operativo. Se qualcosa va storto, basta inserire l'immagine del sistema operativo e il sistema tornerà dove si trovava.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.