dump d'une partition --> morceaux < 2GB

Le
pehache-tolai
Bonjour,

je veux dumper une partition complète, en découpant le résultat en fichiers
compressés inférieurs à 2Go. Y'a-t'il une "meilleure" commande que celle-ci
:

dd if=/dev/hda1 of=- | gzip -c | split -b 2GB - ddimage.gz

(et donc pour restaurer :
cat ddimage.gz* | gunzip -c | dd if=- of=/dev/hda1
)

Merci,

--
pehache
http://pehache.free.fr/public.html
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane CHAZELAS
Le #19015781
2009-03-30, 19:20(+02), pehache-tolai:
Bonjour,

je veux dumper une partition complète, en découpant le résultat en fichiers
compressés inférieurs à 2Go. Y'a-t'il une "meilleure" commande que celle-ci
:

dd if=/dev/hda1 of=- | gzip -c | split -b 2GB - ddimage.gz

(et donc pour restaurer :
cat ddimage.gz* | gunzip -c | dd if=- of=/dev/hda1
)


[...]

dd < /dev/hda1 conv=sync,noerror | gzip | split -b 2GB - ddimage.gz

Pour restaurer:

gzip -dc ddimage.gz* | dd > /dev/hda1

--
Stéphane
pehache-tolai
Le #19016491
"Stephane CHAZELAS" message de news:

dd < /dev/hda1 conv=sync,noerror | gzip | split -b 2GB - ddimage.gz




A quoi sert le sync, en fait ? Le man dit "pad every input block with NULs
to ibs-size", mais par définition un input block a exactement la taille
ibs-size, non ?

Au fait, est-il utile de forcer le block-size à la taille des secteurs du
disque (bsQ2 en général) ?

Pour restaurer:

gzip -dc ddimage.gz* | dd > /dev/hda1



L'usage des redirections par rapports aux if= of= a-t'elle un avantage ou
bien est-ce juste une question de compacité d'écriture ?

--
pehache
http://pehache.free.fr/public.html
talon
Le #19019651
pehache-tolai
"Stephane CHAZELAS" message de news:
>
> dd < /dev/hda1 conv=sync,noerror | gzip | split -b 2GB - ddimage.gz
>

A quoi sert le sync, en fait ? Le man dit "pad every input block with NULs
to ibs-size", mais par définition un input block a exactement la taille
ibs-size, non ?

Au fait, est-il utile de forcer le block-size à la taille des secteurs du
disque (bsQ2 en général) ?

> Pour restaurer:
>
> gzip -dc ddimage.gz* | dd > /dev/hda1

L'usage des redirections par rapports aux if= of= a-t'elle un avantage ou
bien est-ce juste une question de compacité d'écriture ?




Je pense que le dd a une utilité pour spécifier des blocksize appropriés
(ou pour faire des conversions). Par exemple dans beaucoup de cas utiliser un
très gros blocksize, par exemple bsk accélère beaucoup l'opération d'entrée
sortie. Utiliser un blocksize de 512 permet d'aller prendre le café
tranquille. Dans l'exemple ci-dessus je ne vois pas à quoi sert le dd, sinon
peut être à avoir deux processus coopératifs, le gzip -d et le dd, ce qui
augmente le nombre de cycles alloués à ton opération.

--

Michel TALON
Stephane CHAZELAS
Le #19024291
2009-03-30, 21:22(+02), pehache-tolai:
"Stephane CHAZELAS" message de news:

dd < /dev/hda1 conv=sync,noerror | gzip | split -b 2GB - ddimage.gz




A quoi sert le sync, en fait ? Le man dit "pad every input block with NULs
to ibs-size", mais par définition un input block a exactement la taille
ibs-size, non ?

Au fait, est-il utile de forcer le block-size à la taille des secteurs du
disque (bsQ2 en général) ?



bsQ2, c'est le default de dd, ca correspond au sector-size.
Mais dd n'est pas l'equivalent de dd bsQ2, car sans bs=,

dd, c'est une interface bas-niveau aux system calls read et
write.

dd < /dev/hda1 fait des read de 512 octets, et des write des
qu'il a accumule 512 octets.

dd bsQ2 fait des read de 512 octets suivi de write de ce qu'il
a lu (ce qui peut etre moins que 512 octets).

dd conv=sync, fait des read de 512 octests, et fait des writes
de 512 octets (avec les octets manquant remplaces par des 0).

conv=noerror et pour continuer (en remplacant par des 0) s'il y
a erreur de lecture.


Pour restaurer:

gzip -dc ddimage.gz* | dd > /dev/hda1



L'usage des redirections par rapports aux if= of= a-t'elle un avantage ou
bien est-ce juste une question de compacité d'écriture ?



Disons que l'usage de if= et of= n'a aucun avantage ici.

Des avantages de < et >:
- si l'ouverture echoue, dd n'est pas lance' et on a des
messages d'erreurs consistants.
- c'est plus court a ecrire.
- ca fait deux options de moins a retenir.

--
Stéphane
pehache-tolai
Le #19026061
"Stephane CHAZELAS" message de news:

bsQ2, c'est le default de dd, ca correspond au sector-size.
Mais dd n'est pas l'equivalent de dd bsQ2, car sans bs=,

dd, c'est une interface bas-niveau aux system calls read et
write.

dd < /dev/hda1 fait des read de 512 octets, et des write des
qu'il a accumule 512 octets.

dd bsQ2 fait des read de 512 octets suivi de write de ce qu'il
a lu (ce qui peut etre moins que 512 octets).

dd conv=sync, fait des read de 512 octests, et fait des writes
de 512 octets (avec les octets manquant remplaces par des 0).

conv=noerror et pour continuer (en remplacant par des 0) s'il y
a erreur de lecture.


Disons que l'usage de if= et of= n'a aucun avantage ici.

Des avantages de < et >:
- si l'ouverture echoue, dd n'est pas lance' et on a des
messages d'erreurs consistants.
- c'est plus court a ecrire.
- ca fait deux options de moins a retenir.



Merci

--
pehache
http://pehache.free.fr/public.html
Publicité
Poster une réponse
Anonyme