Wykonaj kopię całego systemu operacyjnego

19

Mam sformatować cały dysk i ponownie zainstalować Ubuntu.

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

Czy mogę w jakiś sposób stworzyć obraz .iso mojego zainstalowanego Ubuntu wraz z całym oprogramowaniem, preferencjami, sterownikami itp.?

Czy istnieje sposób, w jaki mogę zarchiwizować cały system operacyjny wraz z jego wszystkimi oprogramowanie, napędy, aktualizacje i wszystko?

    
zadawane Avinash Sonawane 05.08.2011, 09:17
źródło

7 odpowiedzi

4

są na to różne sposoby. Najprostszym jest użycie remastersys

sudo remastersys dist 

Powinieneś zainstalować pakiet wszechobecności przed rozpoczęciem pracy z remastersys

lub możesz użyć fsarchive , redo-backup (A live cd)

Jak wykonać kopię zapasową systemu operacyjnego

    
odpowiedział jahid65 05.08.2011, 21:30
źródło
20

Możesz zrobić kopię zapasową swojego 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. Będziesz musiał wykonać kopię zapasową tego pliku w bezpiecznym miejscu.

Następnie, po ponownym zainstalowaniu Ubuntu na twoim 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ć niczego. Po prostu zaznaczy pakiety do zainstalowania. Aby je zainstalować, uruchom następującą komendę:

sudo apt-get -u dselect-upgrade

To zajmie trochę czasu, ponieważ system pobierze i zainstaluje wszystkie pakiety. Po zakończeniu tego polecenia zamień obecny katalog domowy na taki, którego poprzednio zapisałeś.

Mam nadzieję, że to pomoże

    
odpowiedział binW 05.08.2011, 09:54
źródło
10

Odpowiedziałem "Jak dostosować żywą płytę Ubuntu CD?" ze sposobem tworzenia live CD z obecnych instalacji. Oznacza to, że nie będziesz musiał ponownie pobierać wszystkich pakietów. Ten przewodnik może wydawać się długi i trudny, ale głównie "śledź" i "skopiuj i wklej". Tutaj jest, skopiowany i trochę zmodyfikowany:

Tworzenie Live CD z istniejącej / nowej instalacji

Dobrym sposobem byłoby stworzenie live CD 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ć na prawdę, spróbuj użyć maszyny wirtualnej) z jedynymi potrzebnymi rzeczami (w twoim przypadku thunderbird, samba i ssh). Następnie dostosowujemy system i rejestrujemy, gdzie są zmiany (na przykład zmieniamy tło pulpitu, ustawienia są w ~ / .gconf lub dodajemy skróty firefox, znajdują się one w ~ / Desktop). Jest to potrzebne w kroku 4.

  1. Ustaw kilka zmiennych:

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

    Zastąp ~ / temp ścieżką do pliku tymczasowego katalog, w którym będziemy pracować. Zastąp ~ / livecd ścieżką do pliku Drzewo CD.

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

  3. Teraz musimy zainstalować kilka pakietów:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Teraz skopiujemy bieżącą instalację, zmodyfikujemy flagi wykluczeń w zależności od 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 to: sudo cp -av /boot/* ${WORK}/rootfs/boot
    Jeśli chcesz skopiować konfiguracje użytkownika i pliki, w razie potrzeby zmodyfikuj tę listę:     CONFIG = '. Config .gconf Pulpit someotherfolder andanotherfolder' Teraz kopiujemy konfiguracje i pliki:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Teraz chrootujemy 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
    

    Następne 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 wszędobylski ubiquity-frontend-gtk Lub jeśli chcesz KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Zaktualizuj modules.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 }''
    do
        uid='cat /etc/passwd | grep "^${i}:" | awk -F":" '{print }''
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Oczyść:

    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ł takich rzeczy 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 to, co mamy zamontowane:

    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. Make filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print }') | 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 twoim edytorem fav, 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. Utwórz płytę CD / DVD!      sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. Przetestuj go za pomocą maszyny wirtualnej!

Wszystkie środki trafiają na siebie, ponieważ przewodnik pochodzi z tutaj .

    
odpowiedział nickguletskii 05.08.2011, 09:35
źródło
5

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

link

  

UCloner to narzędzie do tworzenia kopii zapasowych / przywracania / klonowania przeznaczone dla systemu Ubuntu Linux. W pewnym sensie jest to podobne do programu Norton Ghost dla systemu 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ę do / niektórych partycji docelowych za pomocą UCloner. Pamiętasz agenta Smitha w Matrixie? tak, to wszystko.

     

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

     

UCloner to darmowe oprogramowanie dystrybuowane pod GPL v2.

    
odpowiedział Meteor 30.08.2011, 11:09
źródło
3

Jeśli masz zainstalowany system Ubuntu na jednym dysku twardym i masz inny twardy dysk 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 do sdb, zrobiłbyś sudo dd if=/dev/sda of=/dev/sdb . Zachowałoby to wszystkie partycje, menadżera rozruchu itp.

Uważaj, aby użyć poprawnego if (plik wejściowy) i (pliku wyjściowego). 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ą przestrzeń do sklonowania pierwszego dysku. W przeciwnym razie po prostu zostanie odcięty na końcu. Nie będzie żadnych ostrzeżeń.

Jeśli chcesz utworzyć obraz, po prostu zamień of=/dev/sdb na of=/some_place/disk-image.raw . Przechowuj go na innym dysku.

    
odpowiedział Jo-Erlend Schinstad 05.08.2011, 10:17
źródło
1

Mam skrypt, który przenosi instalację Ubuntu do innej lokalizacji, np. w twoim przypadku możesz przenieść go na zewnętrzny dysk twardy. Chodzi o to, że możesz samodzielnie uruchomić system i potwierdzić, że działa on przed sformatowaniem starego dysku. Jest to dokładna kopia - nie trzeba konfigurować, ponownie instalować ani modyfikować. Musisz tylko przygotować partycję docelową. (Nie modyfikuje również bieżącej instalacji, więc możesz przetestować migrację przed sformatowaniem starej).

link

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

    
odpowiedział bcbc 05.08.2011, 15:26
źródło
1

Po zebraniu wszystkich danych i ponownym zainstalowaniu, możesz spróbować użyć Clonezilla do zrobienia obrazu systemu operacyjnego. Jeśli coś pójdzie nie tak, po prostu włóż obraz systemu operacyjnego, a system zostanie przywrócony tam, gdzie był.

    
odpowiedział ten 10.08.2011, 21:37
źródło

Przeczytaj inne pytania na temat tagów