umpipen, tar, gz
- killerhippy
- Posts: 529
- Joined: 19. May 2000 19:36
- Contact:
umpipen, tar, gz
Hi @ll,
ich moechte gerne ein `dd if=/dev/hda` in ein tar.gz bekommen.
der weg aus einem tar.gz mit | ist mir ja bekannt:
gzip -d < file.tar.gz | tar -xvf -
und analog wuerde ich gerne etwas in der art:
gzip -9 < dd if=/dev/hda | tar -cf hda.tar.gz
machen wollen, was so natuerlich nicht klappt.
Wer weiss's und gibt mir den entscheidenden tip?
ich moechte gerne ein `dd if=/dev/hda` in ein tar.gz bekommen.
der weg aus einem tar.gz mit | ist mir ja bekannt:
gzip -d < file.tar.gz | tar -xvf -
und analog wuerde ich gerne etwas in der art:
gzip -9 < dd if=/dev/hda | tar -cf hda.tar.gz
machen wollen, was so natuerlich nicht klappt.
Wer weiss's und gibt mir den entscheidenden tip?
Es gibt keine dumme Fragen!
Killerhippy
Killerhippy
Re: umpipen, tar, gz
Warum willst du zwingend ein tar-Archiv ?
Du willst eine einzige Datei komprimieren, da ist der Umweg über tar nicht notwendig.
Probier mal
dd if=/dev/hda | gzip -9 > hda.img.gz
Falls später nötig, dekomprimierst du das Image dann einfach mit
gzip -d hda.img.gz
Du willst eine einzige Datei komprimieren, da ist der Umweg über tar nicht notwendig.
Probier mal
dd if=/dev/hda | gzip -9 > hda.img.gz
Falls später nötig, dekomprimierst du das Image dann einfach mit
gzip -d hda.img.gz
Re: umpipen, tar, gz
> gzip -d < file.tar.gz | tar -xvf -
warum so umständlich?
tar zxvf file.tar.gz
geht genauso. (BTW, tar lxvf für bzip2)
Außerdem bringt es IMHO nicht viel, ein dd image zu komprimieren.
warum so umständlich?
tar zxvf file.tar.gz
geht genauso. (BTW, tar lxvf für bzip2)
Außerdem bringt es IMHO nicht viel, ein dd image zu komprimieren.
Re: umpipen, tar, gz
P.S.:
Du kannst auch erst
dd if=/dev/hda of=/tmp/myimage.img
machen und dann mit
gzip -9 /tmp/myimage.img
komprimieren
Du kannst auch erst
dd if=/dev/hda of=/tmp/myimage.img
machen und dann mit
gzip -9 /tmp/myimage.img
komprimieren
- killerhippy
- Posts: 529
- Joined: 19. May 2000 19:36
- Contact:
Re: umpipen, tar, gz
Ok, mal zum Hintergrund:
Linux-Magazin, 07/2001 -Platten buegeln-
darin geht es darum, eines Rechners Festplatte ueber's Netzwerk zu backuppen.
Darin wird ein `dd` im Zusammenhang mit `rsh` verwendet, rsh habe ich jedoch disabled.
Inzwischen habe ich n bisserl gechattet, dabei ist folgendes herausgekommen.
- tar fuer ein file ist quatsch, kompression genuegt.
- wie sinnvoll kompression ist, haengt davon ab, wieviel daten die Platte hat, das bezieht ungeloeschte Bytes mit ein (!). So werden bei einer gebrauchten Platte bei einer Neupartitionierung nur die Partitonstabellen geschrieben, die Inhalte bleiben aber auf der Platte (!!).
- dd ist bequem, die ganze Platte zu sichern, aber sobald die Platte schlechte Sektoren entwickelt, ist das Backup sinnlos geworden, da die Daten unvollstaendig zurueckgeschrieben werden.
Womit dd nun abgewaehlt ist, dadurch wird tar wieder interessant.
Ich denke folgender Weg ist optimal:
-Backup der Partitionsdaten
-Backup der Partitionen auf Fileebene
Restore:
-Restore der Patitionsdaten
-Filesysteme anhand der Partitionsdaten erstellen (inclusive Badblocksoption).
-Restore der tar-archive.
Linux-Magazin, 07/2001 -Platten buegeln-
darin geht es darum, eines Rechners Festplatte ueber's Netzwerk zu backuppen.
Darin wird ein `dd` im Zusammenhang mit `rsh` verwendet, rsh habe ich jedoch disabled.
Inzwischen habe ich n bisserl gechattet, dabei ist folgendes herausgekommen.
- tar fuer ein file ist quatsch, kompression genuegt.
- wie sinnvoll kompression ist, haengt davon ab, wieviel daten die Platte hat, das bezieht ungeloeschte Bytes mit ein (!). So werden bei einer gebrauchten Platte bei einer Neupartitionierung nur die Partitonstabellen geschrieben, die Inhalte bleiben aber auf der Platte (!!).
- dd ist bequem, die ganze Platte zu sichern, aber sobald die Platte schlechte Sektoren entwickelt, ist das Backup sinnlos geworden, da die Daten unvollstaendig zurueckgeschrieben werden.
Womit dd nun abgewaehlt ist, dadurch wird tar wieder interessant.
Ich denke folgender Weg ist optimal:
-Backup der Partitionsdaten
-Backup der Partitionen auf Fileebene
Restore:
-Restore der Patitionsdaten
-Filesysteme anhand der Partitionsdaten erstellen (inclusive Badblocksoption).
-Restore der tar-archive.
Es gibt keine dumme Fragen!
Killerhippy
Killerhippy
Re: umpipen, tar, gz
Wo wir bei dem Thema sind ...
Müsste man GNU tar nicht irgendwie klar machen können, bei einer named pipe / fifo als Input nicht die fifo selber, sondern dessen Inhalt im Archiv zu speichern ?
Denn nehmen wir mal an, Sascha will unbedingt ein gzip-komprimiertes tar-Archiv erstellen, und das *ohne* das Archiv vorher auf die Platte zu lesen.
Die einzige Möglichkeit die mir dabei in den Sinn kam war der Weg über eine fifo:
mkfifo hda
dd if=/dev/hda of=hda &
tar -vczf hda.tar.bz2 hda
Pustekuchen, geht nicht.
tar packt die fifo selber in das Archiv, anstatt den Inhalt der fifo auszulesen und zu archivieren ...
Müsste man GNU tar nicht irgendwie klar machen können, bei einer named pipe / fifo als Input nicht die fifo selber, sondern dessen Inhalt im Archiv zu speichern ?
Denn nehmen wir mal an, Sascha will unbedingt ein gzip-komprimiertes tar-Archiv erstellen, und das *ohne* das Archiv vorher auf die Platte zu lesen.
Die einzige Möglichkeit die mir dabei in den Sinn kam war der Weg über eine fifo:
mkfifo hda
dd if=/dev/hda of=hda &
tar -vczf hda.tar.bz2 hda
Pustekuchen, geht nicht.
tar packt die fifo selber in das Archiv, anstatt den Inhalt der fifo auszulesen und zu archivieren ...
Re: umpipen, tar, gz
*ohne* das Archiv vorher [...] = *ohne* das Image vorher.
Bin müde <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">.
Bin müde <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">.
Re: umpipen, tar, gz
Und hda.tar.bz2 sollte natürlich hda.tar.gz heissen.
Wo ist der Kaffe ???
Wo ist der Kaffe ???
- killerhippy
- Posts: 529
- Joined: 19. May 2000 19:36
- Contact:
Re: umpipen, tar, gz
ja genau, natuerlich ist das Optimum, das Image *nicht* als echtes File zwischenzuspeichern, sondern nur das gewuenschte Endergebnis.
Wo mir da eine Nebenfrage auf der Zunge liegt:
Wenn ich mit `fdisk -l /dev/hda` die Plattenparameter ausgelesen habe und `dd` anweise, `if` mit `bs` und`count` die ganze Platte auszulesen, worin besteht der Unterschied, wenn ich `dd` diese Info *nicht* gebe? Trifft `dd if=/dev/hda` im Gegensatz zu `dd if=/dev/hda bs=15120 count=776` *nicht* die ganze Platte? Oder gibt es da einen Vorteil, den ich nicht sehe?
Wo mir da eine Nebenfrage auf der Zunge liegt:
Wenn ich mit `fdisk -l /dev/hda` die Plattenparameter ausgelesen habe und `dd` anweise, `if` mit `bs` und`count` die ganze Platte auszulesen, worin besteht der Unterschied, wenn ich `dd` diese Info *nicht* gebe? Trifft `dd if=/dev/hda` im Gegensatz zu `dd if=/dev/hda bs=15120 count=776` *nicht* die ganze Platte? Oder gibt es da einen Vorteil, den ich nicht sehe?
Es gibt keine dumme Fragen!
Killerhippy
Killerhippy
Re: umpipen, tar, gz
@ Sascha
Nein, da gibt es soweit ich weis keinen Vorteil.
dd kann nicht über das Ende eines blockorientierten Gerätes "hinweglesen".
Die "bs=" und "count="-Optionen sind halt nur nützlich, wenn man beispielsweise nur eine bestimmte Anzahl von Blöcken auslesen möchte (wie z.B. nur den ersten Block, wenn man den Superblock sichern möchte).
Nein, da gibt es soweit ich weis keinen Vorteil.
dd kann nicht über das Ende eines blockorientierten Gerätes "hinweglesen".
Die "bs=" und "count="-Optionen sind halt nur nützlich, wenn man beispielsweise nur eine bestimmte Anzahl von Blöcken auslesen möchte (wie z.B. nur den ersten Block, wenn man den Superblock sichern möchte).