Ich mag 'Disks' ( gnome-disk-utility
) und seine Fähigkeit, Backups von Systempartitionen zu erstellen.
Aber irgendwann las ich im Internet über ein Programm, das solche Bilder erstellen würde, die nicht so groß wie die gesamte Partition sind, sondern nur so groß wie die Dateien darauf. Jetzt kann ich es nicht wieder finden.
Gibt es so ein Dienstprogramm?
Antworten:
Die folgende Antwort verwendet eine TUI , keine GUI- Lösung:
Abhängig von Ihrem Anwendungsfall (ich verwende ihn zum Erstellen von Systemsicherungen ) können Sie CloneZilla Live verwenden . Es kann erstellen:
Die Hauptvorteile sind:
Zusätzlich zu all diesen Extras können auch MBRs kopiert werden.
Wenn Sie nicht nach einer Sicherung eines kalten Systems suchen, können Sie trotzdem die Technologie verwenden, auf der CloneZilla basiert
partclone
.quelle
Das Erreichen kleinerer Disk-Images erfolgt normalerweise, indem keine Null-Outed-Blöcke aus dem ursprünglichen Dateisystem im Image kopiert werden. Das Konzept wird als spärlicher Speicherplatz in Dateien oder als Loch in Dateien bezeichnet, und Ihr Host-Dateisystem muss dies unterstützen. ein bisschen Kommandozeile, aber versuchen Sie dies:
Und sobald es installiert ist, können Sie Folgendes verwenden:
Dadurch wird ein spärliches Image Ihrer Festplatte erstellt (Nullen in der Datei werden nicht geschrieben). Dabei ist -f = Format, -O Ausgabeformat. sdX die Festplatte (kann auch Partitionen verwenden). Das Programm verfügt über erweiterte Funktionen wie Snapshots und verschiedene Ausgabeformate (vdi, vmdk usw.). Ihr Ort , wo Sie das Bild speichern hat Sparse - Dateien zu unterstützen , oder aber die Größe wird genauso groß, da Nullen in der Partition auf der Festplatte geschrieben werden. Um das Beste daraus zu machen, führen Sie ein Programm wie
sfill
oderzerofree
in apt auf der Partition aus, da freier Speicherplatz nicht immer null Speicherplatz bedeutet und Sie den Speicherplatz null im Dateisystem maximieren möchten.Bonus Ninja Punkte. Da Linux Festplatten als "Dateien" betrachtet, können Sie auch einfaches cp verwenden, unter der Bedingung, dass Ihre Ausgabepartition, auf der Sie die Datei parken, spärliche Dateien kennt.
Welches wird eine Rohkopie mittels cp erstellen ..
Beispiele für Dateisysteme, die Sparse unterstützen: ext4, btrfs, xfs, ntfs (ntfs-3g erlaubt jedoch möglicherweise keine Sparse-Schreibvorgänge).
Beispiele für Dateisysteme, die dies nicht tun: fat32.
quelle
sudo cp /home/<user>/Ubuntu.img /dev/sdX
oder wenn Sie Lust auf dd ,sudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX
. Gleiches gilt für qemu-img convert. Wenn Sie sagen, möchten Sie eine virtuelle Maschine auf realer Hardware installieren. Wenn es zurückschreibt, schreibt es Nullen auf die Festplatte, so dass Sie unsparse , da es die Geometrie der Partition richtig adressieren muss.Da es anscheinend kein Programm gibt, das die beiden Bedingungen alleine erfüllen würde:
1) Haben Sie eine 'Disks'-ähnliche GUI;
2) Erstellen Sie ein Disk-Image, das so groß ist wie der verwendete Speicherplatz.
Ich dachte über eine ziemlich einfache Problemumgehung nach, aber eine mit zwei GUI-Programmen, die in Ubuntu sehr verbreitet sind:
Eine wäre dieselbe 'Festplatte' (Gnome-Disk-Dienstprogramm) , die zum Erstellen eines Sicherungsabbilds einer bestimmten Partition verwendet wird, und die zweite wäre Gparted, um die Partition vor dem Erstellen des Sicherungsabbilds so weit wie möglich zu verkleinern, und um die Größe danach wieder auf das Original zu ändern .
Ich sehe bei einem solchen Vorgang keine Unannehmlichkeiten: Das Verkleinern einer Partition auf ein Minimum würde nur wenige Minuten dauern (etwa eine Minute für 10 GB) und rechts einen leeren Bereich schaffen. Nachdem Sie mit 'Festplatten' ein Backup-Image der Festplatte erstellt haben, kann die Partition mit Gparted bis zum Ausgangszustand wieder nach rechts in den leeren Bereich geändert werden. Dies würde nur einige Sekunden dauern.
Getestet auf einer Partition mit einer Ubuntu-Installation:
Partition mit Gparted so weit wie möglich verkleinern
Backup-Image dieser Partition mit Festplatten
Stellen Sie das Image mit Festplatten auf einer Partition wieder her, die größer als das Image ist. Diese Partition sollte zuerst nicht gemountet werden: So stellen Sie die Systempartition (ISO-Image) mit 'Disks' korrekt wieder her .
quelle
Bearbeiten : Dies funktioniert nicht gut, wenn aus dem Dateisystem gelöschte Dateien noch auf der Partition vorhanden sind. Daher muss zuerst der freie Speicherplatz auf der Zielpartition gelöscht werden:
dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
Dann:
Sie können die gesamte Partition Block für Block lesen
dd
und alles an ein Komprimierungsprogramm wie ausgebengzip
. Höchstwahrscheinlich komprimiert jedes Komprimierungswerkzeug, selbst wenn die schnellsten / niedrigsten Komprimierungseinstellungen verwendet werden, den gesamten freien Speicherplatz während des Vorgangs.Mit
gzip
:sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz
(
GZIP=-1
Vorübergehend setzt die Umgebungsvariable ,GZIP
um-1
die schnellste / niedrigsten Kompression zu erreichen)So stellen Sie ein Backup wieder her:
gzip -d /path/to/backup.gz >/dev/sdX
quelle
Wie wäre es
ddrescue
mit-S
Option?Dadurch wird jeder Block klonen aber Null gefunden Blöcke in Blockgerät
/dev/sdXY
zu/<path_to_backup>/backup.img
quelle
Es kann nicht verwendet werden, um eine Kopie auf ein kleineres Laufwerk zu erstellen. Wenn ich ein 64-GB-Laufwerk habe, sind nur 10% mit Daten gefüllt. Ich möchte in der Lage sein, das in eine 6-Gbit-Image-Datei zu kopieren, die ich wiederum auf ein 16-Gbit-Laufwerk kopieren und dann auf 16 Gbit erweitern kann
Die einzige Möglichkeit, die ich jetzt kenne, besteht darin, GParted zu verwenden, um das Original zu verkleinern, es dann zu kopieren und dann die Größe beider zu ändern. Eine sehr riskante Operation, da Sie das Original verkleinern und seine Größe ändern müssen.
quelle
Sie können
rsync
nur die Dateien auf der Partition auf einer anderen Partition sichern. Odertar
um ein komprimiertes Archiv zu erstellen, das alle Dateien enthält.Beide haben wahrscheinlich (mehrere) GUIs, aber ich habe diese selbst nie verwendet.
quelle
Clonezilla kann eigentlich recht freundlich sein. Die Live-CD erfordert keine Befehlszeilenverwendung - ich würde sie gerne als GUI bezeichnen, obwohl sie nicht mit der Maus verwendet wird - und ich denke, die Standardeinstellungen sind in vielen Fällen in Ordnung. Das Problem haben Sie nicht explizit angesprochen: Es scheint nicht so konzipiert zu sein, dass Sie es auf einem beliebigen Linux-System installieren können. Es ist speziell für Debian / Ubuntu gepackt und die Live-CD ist der einfachste Weg, es auszuführen.
Clonezilla / partclone verwenden das Dateisystem-fähige Klonen und verwenden ihr eigenes komprimiertes Bildformat.
Es gibt eine weitere Möglichkeit ohne GUI, einfache (mountende) Dateien mit geringer Dichte zu generieren, die nicht auf der Erkennung von Nullsektoren beruhen.
Wenn / tmp eine Ramdisk ist, wird gewarnt, dass möglicherweise mehr Speicherplatz für temporäre Dateien benötigt wird. Möglicherweise müssen Sie die Option hinzufügen
--tmp /var/tmp
.quelle
virt-sparsify --version
? Die Option ist auf meiner (man virt-sparsify
) dokumentiert ... Ich kann nicht schwören, dass ich sie verwendet habe, aber zumindest ist meine aktuelle/tmp
tmpfs. Wenn Sie verwenden können--in-place
, scheint dies eine temporäre Speicherung zu vermeiden. Schließlich können Sie es genauso gut versuchenTMPDIR=/var/tmp virt-sparsify ...
. In den Dokumenten für meine Version heißt es, dass Sie das tmp-Verzeichnis für Versionen vor 1.28 festlegen müssen.