Backup des gesamten Betriebssystems


20

Ich muss meine gesamte Festplatte formatieren und Ubuntu neu installieren.

Ich habe viel Software auf meinem aktuellen System installiert. Außerdem muss ich all diese Updates, Treiber und Anwendungen neu installieren.

Gibt es eine Möglichkeit, ein ISO-Image meines installierten Ubuntu zusammen mit der darin enthaltenen Software, Einstellungen, Treibern usw. zu erstellen?

Gibt es eine Möglichkeit, mein gesamtes Betriebssystem mit all seiner Software, Laufwerken, Updates und allem zu sichern?


3
Das Sichern des gesamten Betriebssystems ist eine berechtigte Frage, aber der Grund, den Sie angeben: "Ich muss meine gesamte Festplatte formatieren und Ubuntu neu installieren", scheint seltsam. Warum sollten Sie den Datenträger formatieren, wenn Sie dann wirklich alles neu installieren möchten, was Sie gerade auf dem Datenträger haben?
Martin

Man könnte darüber nachdenken, warum Linux - Partitionen , und hier ist ein sehr guter Führer , darüber zu sprechen: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Elliptical Ansicht

Antworten:



21

Sie können Ihr Ausgangsverzeichnis sichern und eine Liste aller installierten Pakete speichern. Verwenden Sie den folgenden Befehl, um die Liste der installierten Software zu speichern:

sudo dpkg --get-selections > package_list

Dies erstellt eine Datei mit einer Liste aller Pakete / Software, die auf diesem System installiert sind. Sie müssen diese Datei an einem sicheren Ort sichern.

Wenn Sie dann Ubuntu auf Ihrem Computer neu installieren, können Sie den folgenden Befehl verwenden, um all diese Software zu installieren

sudo dpkg --set-selections < packages_list

Dieser Befehl wird nichts installieren. Es werden nur die zu installierenden Pakete markiert. Führen Sie zum Installieren den folgenden Befehl aus:

sudo apt-get -u dselect-upgrade

Dies wird einige Zeit in Anspruch nehmen, da Ihr System alle Pakete herunterladen und installieren wird. Nachdem dieser Befehl ausgeführt wurde, ersetzen Sie Ihr aktuelles Ausgangsverzeichnis durch das zuvor gesicherte.

Hoffe das hilft


Aber muss ich die Pakete in einem neu installierten Ubuntu nicht neu installieren?
Avinash Sonawane

@Avinash: Dieser Befehl installiert die Pakete im neu installierten Ubuntu
Jeremy Kerr

@ Jeremy- ich meine .. dieser Befehl holt (downloadet) die Pakete und installiert sie dann oder ich muss nichts herunterladen, was auch immer ich bis jetzt heruntergeladen habe? Eigentlich möchte ich nichts herunterladen, was ich bereits habe, da es viel Zeit in Anspruch nimmt, um diese riesigen Daten herunterzuladen.
Avinash Sonawane

@Avinash: Entschuldigung, vergessen, den Befehl zum Aktualisieren hinzuzufügen. Ich habe die Antwort-PLZ-Prüfung aktualisiert.
BinW

Nicht ganz die Methode, die ich verwenden würde, aber der Gesamteffekt ist der gleiche.
MBraedley

10

Ich antwortete "Wie kann ich eine Ubuntu-Live-CD anpassen?" mit einer Möglichkeit, Live-CDs aus aktuellen Installationen zu erstellen. Dies bedeutet, dass Sie nicht alle Pakete erneut herunterladen müssen. Diese Anleitung mag lang und schwierig erscheinen, ist jedoch meistens "Folgen" und "Kopieren und Einfügen". Hier ist es, etwas kopiert und bearbeitet:

Erstellen einer Live-CD aus einer vorhandenen / neuen Installation

Eine gute Möglichkeit wäre, eine Live-CD von einer aktuellen Installation zu erstellen. Dies kann mithilfe einer virtuellen Maschine erfolgen (installieren Sie nur keine VM-Tools im Gastbetriebssystem).

Also, zuerst brauchen wir eine Neuinstallation (wenn Sie es nicht real installieren können, versuchen Sie es mit einer virtuellen Maschine) mit nur den Dingen, die Sie brauchen (in Ihrem Fall Thunderbird, Samba und Ssh). Dann optimieren wir das System und zeichnen auf, wo sich die Optimierungen befinden (z. B. ändern Sie Ihren Desktop-Hintergrund, die Einstellungen befinden sich in ~ / .gconf oder Sie fügen Firefox-Verknüpfungen hinzu, sie befinden sich in ~ / Desktop). Dies ist für Schritt 4 erforderlich.

  1. Richten Sie einige Variablen ein:

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

    Ersetzen Sie ~ / temp durch einen Pfad zu einem temporären Verzeichnis, in dem wir arbeiten werden. Ersetzen Sie ~ / livecd durch einen Pfad zum CD-Baum.

  2. Erstellen Sie die Ordnerstruktur. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Nun müssen wir einige Pakete installieren:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Jetzt kopieren wir die aktuelle Installation und passen die Ausschluss-Flags an Ihre Bedürfnisse an:

    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
    

    Wenn Sie eine separate sudo cp -av /boot/* ${WORK}/rootfs/boot
    Startpartition haben, führen Sie Folgendes aus : Wenn Sie Ihre Benutzerkonfigurationen und -dateien kopieren möchten, ändern Sie diese Liste nach Bedarf: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' Und jetzt kopieren wir Ihre Konfigurationen und Dateien:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Jetzt chrooten wir in das neue System und modifizieren es.

    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
    

    Die nächsten Befehle werden in chroot ausgeführt:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper enthält Live-Skripte. Nun kann der Installer (Gnome-Version) apt-get ubiquity ubiquity-frontend-gtk installieren. Oder wenn Sie KDE wollen:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Aktualisieren Sie modules.dep und initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Entfernen Sie Nicht-Systembenutzer - keine Sorge, wir haben die Einstellungen und Daten in das "Gerüst" der Benutzer kopiert. Das bedeutet, dass alle neuen Benutzer sie haben.

    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. Aufräumen:

    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. Chroot verlassen. exit

  10. Nun kopieren wir den 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. Damit der Installer keine Dinge wie casper installiert:

    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. Hängen Sie aus, was wir montiert haben:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. In Squashfs konvertieren:

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

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

  16. Nun grub.cfg:

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

    (Ersetze nano mit deinem Lieblings-Texteditor, das ist egal.) Füge das ein und speichere:

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

  18. Testen Sie es mit einer virtuellen Maschine!

Alle Kredite gehen an capink, weil der Führer von hier ist .


@ nickguletskii- Da ich ein absoluter Neuling bin, gibt es dafür eine Software? Übrigens danke für deine Antwort.
Avinash Sonawane

@Avinash remastersys und / oder Ubuntu Customization Kit.
Uri Herrera

@Avinash Sonawane Es wird so ziemlich eine einfache "Kopieren und Einfügen" -Routine sein, nimm einfach die Befehle und führe sie aus.
Nickguletskii

Da ich ein absoluter Neuling bin, habe ich Remastersys dem Kopieren und Einfügen vorgezogen. Übrigens haben diese Befehle funktioniert.! :) Danke @nickguletskii :)
Avinash Sonawane

@Avinash Sonawane Kein Problem, und vielen Dank für die Überprüfung! :)
nickguletskii

5

In China verwenden einige Freunde Ucloner in Ubuntu, um das Betriebssystem zu sichern.

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

UCloner ist ein Backup / Restore / Clone-Tool für Ubuntu Linux. In gewisser Weise ist es genau wie Norton Ghost für Windows.

Mit UCloner können Sie Ihr Ubuntu-System in eine squashfs-Image-Datei sichern. Direkt von dieser Image-Datei aus können Sie einen PC in eine sogenannte "Live Ubuntu" -Umgebung booten (benötigen "casper" -Paket).

Ein aktives Ubuntu-System kann sich mit Hilfe von UCloner in eine oder mehrere Zielpartitionen klonen. Erinnerst du dich an Agent Smith in Matrix? ja, das ist es.

Es hat sowohl eine Befehlszeile als auch eine grafische Oberfläche. Es ist flexibler, wenn es in der Befehlszeilenschnittstelle ausgeführt wird.

UCloner ist freie Software, die unter der GPL v2 vertrieben wird.

Bildbeschreibung hier eingeben


3

Wenn Sie Ubuntu auf einer einzelnen Festplatte installiert haben und über eine andere Festplatte mit gleicher oder größerer Speicherkapazität verfügen, ist das Klonen der Festplatte ganz einfach:

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

Wenn Sie also beispielsweise sda ​​in sdb klonen möchten, würden Sie dies tun sudo dd if=/dev/sda of=/dev/sdb. Das würde alle Partitionen, Bootmanager usw. behalten.

Achten Sie darauf, das richtige if (Eingabedatei) und of (Ausgabedatei) zu verwenden. Die Eingabedatei ist der Datenträger, den Sie kopieren möchten. Wenn Sie die Reihenfolge wechseln, klonen Sie die leere Festplatte auf die volle, sodass Sie zwei leere Festplatten haben. :)

Stellen Sie außerdem sicher, dass auf der neuen Festplatte genügend Speicherplatz vorhanden ist, um die erste Festplatte zu klonen. Sonst wird es am Ende einfach abgeschnitten. Es werden keine Warnungen ausgegeben.

Wenn Sie ein Bild erstellen möchten, dann ersetzen Sie einfach of=/dev/sdbmit of=/some_place/disk-image.raw. Speichern Sie es auf einer anderen Festplatte.


Ich habe keine zusätzliche externe Festplatte. Ich möchte nur das gesamte Betriebssystem zusammen mit allen Updates und Treibern in einer einzigen .iso-Datei wiederherstellen oder sichern. Wenn ich meine Festplatte formatiere und Ubuntu neu installiere, werde ich nicht so viele Daten (Software, Treiber usw.) herunterladen und neu installieren
Avinash Sonawane

sicher. Dann, wie ich in der letzten Zeile sagte: dd if = / dev / disktobackup of = somefile.img. Das ist eine vollständige Kopie des Datenträgers. Sie müssen ihn also irgendwo aufbewahren. ISO-Dateien werden aufgrund des auf CD-ROMs verwendeten ISO9660-Dateisystems als solche bezeichnet. Wir nennen sie normalerweise raw oder img oder so, wenn wir uns eine Festplatte vorstellen.
Jo-Erlend Schinstad

@ jo-erlend Wird es also funktionieren, von einer Partition auf eine andere zu wechseln? Der Bootloader und alles Mögliche?
Hari KT

1

Ich habe ein Skript, das eine Ubuntu-Installation an einen anderen Speicherort migriert. In Ihrem Fall könnten Sie es beispielsweise auf eine externe Festplatte migrieren. Das Schöne ist, dass Sie es unabhängig starten und überprüfen können, ob es funktioniert, bevor Sie Ihr altes Laufwerk formatieren. Es ist eine exakte Kopie - keine Konfiguration, Neuinstallation oder Anpassung erforderlich. Sie müssen nur die Zielpartition vorbereiten. (Die aktuelle Installation wird auch nicht geändert, sodass Sie die migrierte testen können, bevor Sie die alte formatieren.)

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

(Ja, es ist die WUBI-Migration, aber es werden auch normale Migrationen durchgeführt. Ich benutze sie die ganze Zeit, um verschiedene Installationen zu sichern und wiederherzustellen.)


1

Sobald Sie alle Daten abgerufen und neu installiert haben, können Sie versuchen, mit Clonezilla ein Image Ihres Betriebssystems zu erstellen. Wenn etwas schief geht, öffnen Sie einfach das Betriebssystem-Image und Ihr System befindet sich wieder dort, wo es sich befunden hat.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.