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.