Wykonaj kopię zapasową całego systemu operacyjnego


20

Muszę sformatować cały dysk i ponownie zainstalować Ubuntu.

Zainstalowałem dużo oprogramowania w moim obecnym systemie. Będę musiał ponownie zainstalować wszystkie te aktualizacje, sterowniki i aplikacje.

Czy jest jakiś sposób, aby zrobić obraz .iso mojego zainstalowanego systemu Ubuntu wraz z całym oprogramowaniem, preferencjami, sterownikami itp.?

Czy jest jakiś sposób, aby wykonać kopię zapasową całego systemu operacyjnego wraz z całym jego oprogramowaniem, dyskami, aktualizacjami i wszystkim?


3
Utworzenie kopii zapasowej całego systemu operacyjnego jest jednak ważnym pytaniem, ale powód, dla którego podajesz: „Muszę sformatować cały dysk i ponownie zainstalować system Ubuntu” wydaje się dziwny. Dlaczego chcesz sformatować dysk, który masz, kiedy i tak chcesz ponownie zainstalować wszystko, co na nim masz?
Martin

Możesz zastanowić się, dlaczego linux ma partycje, a oto bardzo dobry przewodnik na ten temat: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Widok eliptyczny

Odpowiedzi:



21

Możesz wykonać kopię zapasową katalogu domowego i zapisać listę wszystkich zainstalowanych pakietów. Aby zapisać listę zainstalowanego oprogramowania, użyj następującego polecenia:

sudo dpkg --get-selections > package_list

Spowoduje to utworzenie pliku z listą wszystkich pakietów / oprogramowania zainstalowanych w tym systemie. Musisz utworzyć kopię zapasową tego pliku w bezpiecznym miejscu.

Następnie, gdy ponownie instalujesz ubuntu na swoim komputerze, możesz użyć następującego polecenia, aby zainstalować wszystkie te programy

sudo dpkg --set-selections < packages_list

To polecenie NIE BĘDZIE instalowało niczego. Po prostu oznaczy pakiety do zainstalowania. Aby je zainstalować, uruchom następujące polecenie:

sudo apt-get -u dselect-upgrade

Zajmie to trochę czasu, ponieważ system pobierze i zainstaluje wszystkie pakiety. Po wykonaniu tego polecenia zamień bieżący katalog domowy na katalog, którego kopię zapasową wykonałeś poprzednio.

Mam nadzieję że to pomoże


ale czy nie muszę ponownie instalować pakietów w nowo zainstalowanym Ubuntu?
Avinash Sonawane

@Avinash: to polecenie ponownie zainstaluje pakiety w nowo zainstalowanym Ubuntu
Jeremy Kerr,

@ Jeremy - mam na myśli ... to polecenie pobierze (pobierze) pakiety, a następnie je zainstaluje, czy nie muszę pobierać niczego, co pobrałem do tej pory? W rzeczywistości nie chcę pobierać niczego, co już mam, ponieważ zajmuje to dużo czasu, aby pobrać te ogromne dane.
Avinash Sonawane,

@Avinash: przepraszam, zapomniałem dodać polecenie aktualizacji. Zaktualizowałem odpowiedź proszę sprawdzić.
binW

Nie do końca zastosowałbym metodę, ale ogólny efekt jest taki sam.
MBraedley,

10

Odpowiedziałem „Jak dostosować Live Ubuntu CD?” ze sposobem tworzenia płyt CD na żywo z bieżących instalacji. Oznacza to, że nie będziesz musiał ponownie pobierać wszystkich pakietów. Ten przewodnik może wydawać się długi i trudny, ale w większości jest to „podążaj” i „kopiuj i wklej”. Oto jest, skopiowane i nieco zredagowane:

Tworzenie Live CD z istniejącej / nowej instalacji

Dobrym sposobem byłoby zrobienie płyty CD na żywo z bieżącej instalacji. Można to zrobić za pomocą maszyny wirtualnej (po prostu nie instaluj żadnych narzędzi VM w systemie-gościu)

Najpierw potrzebujemy świeżej instalacji (jeśli nie możesz jej zainstalować naprawdę, spróbuj użyć maszyny wirtualnej) z tylko potrzebnymi rzeczami (w twoim przypadku thunderbird, samba i ssh). Następnie dostosowujemy system i zapisujemy, gdzie są poprawki (np. Zmieniasz tło pulpitu, ustawienia są w ~ / .gconf lub dodajesz skróty firefox, znajdują się w ~ / Desktop). Jest to potrzebne do kroku 4.

  1. Ustaw niektóre zmienne:

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

    Zamień ~ / temp ścieżką do katalogu tymczasowego, w którym będziemy pracować. Zastąp ~ / livecd ścieżką do drzewa CD.

  2. Utwórz strukturę folderów. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Teraz będziemy musieli zainstalować kilka pakietów:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Teraz skopiujemy bieżącą instalację, zmodyfikujemy flagi wykluczenia, aby dopasować do twoich potrzeb:

    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
    

    Jeśli masz osobną partycję rozruchową, wykonaj następujące czynności: sudo cp -av /boot/* ${WORK}/rootfs/boot
    Jeśli chcesz skopiować konfiguracje i pliki użytkownika, zmodyfikuj tę listę zgodnie z potrzebami: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' A teraz kopiujemy konfiguracje i pliki:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Teraz chrootujemy się do nowego systemu i modyfikujemy go.

    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
    

    Kolejne polecenia są wykonywane w chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper zawiera skrypty na żywo. Teraz instalator (wersja gnome) apt-get install ubiquity ubiquity-frontend-gtk Lub jeśli chcesz KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Zaktualizuj moduły.dep i initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Usuń użytkowników niesystemowych - nie martw się, skopiowaliśmy ustawienia i dane do „szkieletu” użytkowników. Oznacza to, że wszyscy nowi użytkownicy będą je mieć.

    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. Sprzątać:

    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. Wyjdź z chroot. exit

  10. Teraz kopiujemy jądro:

    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. Aby instalator nie instalował rzeczy takich jak 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. Odmontuj zamontowane elementy:

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

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

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

  16. Teraz grub.cfg:

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

    (zastąp nano edytorem tekstu ulubionych, to nie ma znaczenia) Wklej to i zapisz:

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

  18. Przetestuj to za pomocą maszyny wirtualnej!

Wszystkie kredyty idą w górę, ponieważ przewodnik jest stąd .


@ nickguletskii- Ponieważ jestem całkowicie początkującym, czy jest na to oprogramowanie? Nawiasem mówiąc, dziękuję za odpowiedź.
Avinash Sonawane

@Avinash remastersys i / lub Ubuntu Customization Kit.
Uri Herrera,

@Avinash Sonawane Będzie to w zasadzie prosta procedura „kopiuj i wklej”, wystarczy wziąć polecenia i wykonać je.
nickguletskii

Ponieważ jestem całkowicie początkującym .. Wolałem Remastersys niż tylko kopiowanie n wklejania i zbyt wiele poleceń. Nawiasem mówiąc, te polecenia działały.! :) Dziękuję @nickguletskii :)
Avinash Sonawane

@Avinash Sonawane Nie ma problemu i dziękuję za weryfikację! :)
nickguletskii

5

W Chinach niektórzy znajomi używają ucloner w Ubuntu do tworzenia kopii zapasowych systemu operacyjnego.

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

UCloner to narzędzie do tworzenia kopii zapasowych / przywracania / klonowania zaprojektowane dla systemu Ubuntu Linux. W pewnym sensie przypomina Norton Ghost dla Windows.

Za pomocą UCloner możesz wykonać kopię zapasową systemu Ubuntu do pliku obrazu squashfs. Bezpośrednio z tego pliku obrazu możesz uruchomić komputer w tak zwanym środowisku „Live Ubuntu” (potrzebujesz pakietu „casper”).

Aktywny system Ubuntu może sklonować się na partycję / partycje docelowe przy pomocy UCloner. Pamiętasz agenta Smitha w Matrixie? tak, to jest to.

Ma zarówno wiersz poleceń, jak i interfejs graficzny. Jest bardziej elastyczny, gdy działa w interfejsie wiersza poleceń.

UCloner to darmowe oprogramowanie, rozpowszechniane na licencji GPL v2.

wprowadź opis zdjęcia tutaj


3

Jeśli masz Ubuntu zainstalowany na jednym dysku twardym i masz inny dysk twardy o takiej samej lub większej pojemności, klonowanie dysku jest naprawdę proste:

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

Na przykład, jeśli chcesz sklonować SDA na SDB, zrobiłbyś to sudo dd if=/dev/sda of=/dev/sdb. To zachowałoby wszystkie partycje, menedżera rozruchu itp.

Uważaj, aby używać poprawnego if (plik wejściowy) i (plik wyjściowy). Plik wejściowy to dysk, który chcesz skopiować. Jeśli zmienisz kolejność, sklonujesz pusty dysk na pełny, co spowoduje pozostawienie dwóch pustych dysków. :)

Upewnij się również, że nowy dysk ma wystarczającą ilość miejsca, aby sklonować pierwszy dysk. W przeciwnym razie zostanie po prostu odcięty na końcu. Nie będzie żadnych ostrzeżeń.

Jeśli chcesz utworzyć obraz, a następnie po prostu wymienić of=/dev/sdbsię of=/some_place/disk-image.raw. Zapisz go na innym dysku.


Nie mam żadnego zewnętrznego dysku twardego. Chcę tylko przywrócić lub wykonać kopię zapasową całego systemu operacyjnego wraz ze wszystkimi aktualizacjami, sterownikami n w jednym pliku .iso. tak, że kiedy sformatuję dysk i ponownie zainstaluję Ubuntu, nie będę pobierać i ponownie instalować tak dużej ilości danych (oprogramowanie, sterowniki itp.)
Avinash Sonawane

pewnie. Następnie, jak powiedziałem w ostatnim wierszu: dd if = / dev / disktobackup of = somefile.img. Będzie to kompletna kopia dysku, więc będziesz musiał ją gdzieś przechowywać. Pliki ISO nazywane są tak ze względu na system plików ISO9660 używany na dyskach CD-ROM. Zwykle nazywamy je surowym lub img lub czymś innym, kiedy wyobrażamy sobie dysk twardy.
Jo-Erlend Schinstad

@ jo-erlend, więc czy będzie działało przenoszenie z jednej partycji na drugą? Program ładujący i inne rzeczy?
Hari KT

1

Mam skrypt, który migruje instalację Ubuntu do innej lokalizacji, np. W twoim przypadku możesz migrować ją na zewnętrzny dysk twardy. Fajną rzeczą jest to, że możesz niezależnie uruchomić go i potwierdzić, że działa przed sformatowaniem starego dysku. Jest to dokładna kopia - nie jest wymagana konfiguracja, ponowna instalacja ani modyfikacja. Musisz tylko przygotować partycję docelową. (Nie modyfikuje również bieżącej instalacji, więc możesz przetestować zmigrowaną wersję przed sformatowaniem starej).

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

(Tak, to migracja Wubi, ale wykonuje też normalne migracje. Cały czas używam jej do tworzenia kopii zapasowych i przywracania różnych instalacji)


1

Po uzyskaniu wszystkich danych i ponownej instalacji możesz spróbować użyć Clonezilli, aby zrobić zdjęcie systemu operacyjnego. Jeśli coś pójdzie nie tak, po prostu wyświetl obraz systemu operacyjnego, a system powróci do miejsca, w którym był.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.