dd画像の圧縮と解凍 - gzipの代わりにzstd

dd画像の圧縮と解凍 - gzipの代わりにzstd

以前は、fsarchiverを使用して圧縮パーティションイメージを作成しました。どんなことで奇妙な行動と交換することにしましたdd

しかし、私はfsarchiverが圧縮する方法が好きです。これが標準です

だから調べてみると、

これが本質的に言うのは、バックアップするには次のコマンドを使用する必要があることです。

dd if=/dev/sda2 status=progress | gzip -c > /media/mint/Data/_Fsarchiver/MintV1.img.gz

復元するには、次のコマンドを使用します。

gunzip -c /media/mint/Data/_Fsarchiver/MintV1.img.gz | dd of=/dev/sda2 status=progress

gzip -c今&を&に変更したいです。gunzip -czstdzstd -d

私が思いついた命令は

圧縮

sudo dd if=/dev/sda2 status=progress | zstd -16vT6 > /media/mint/Data/_Fsarchiver/MintV1.zst

解凍する

zstd -vdcfT6 /media/mint/Data/_Fsarchiver/MintV1.zst | dd of=/dev/sda2 status=progress

このコマンドを使用しても安全ですか、それとも私が間違っていますか?

ベストアンサー1

(選択の余地なしに)このように使用すると、dd人生は悲惨になります。ちょうど完全に切ってください。または、少なくともブロックサイズを大きくして、短い読み取りに反対しないように指示してください。

  1. そうでない場合は、ddまず実行sudo -sしてルートシェルを入手してください。

     gzip </dev/sda2 >/media/mint/Data/_Fsarchiver/MintV1.img.gz
     gunzip </media/mint/Data/_Fsarchiver/MintV1.img.gz >/dev/sda2
    

    あなたのzstdコマンドは完全に合理的に見えますが、これを省略してddデバイスをrootとして直接読み書きしてください。 (私のバージョンはあなたのバージョンを理解していないので、T6ここでは省略しました。)

     zstd -16v </dev/sda2 >/media/mint/Data/_Fsarchiver/MintV1.zst    
     zstdcat -v /media/mint/Data/_Fsarchiver/MintV1.zst >/dev/sda2
    
  2. 使用時に withddプレフィックスを使用したり、ルートシェルを取得したりするために使用できます。ddsudosudo -s

     dd bs=1M iflag=fullblock if=/dev/sda2 status=progress | gzip >/media/mint/Data/_Fsarchiver/MintV1.img.gz
     gzcat /media/mint/Data/_Fsarchiver/MintV1.img.gz | dd bs=1M iflag=fullblock of=/dev/sda2 status=progress
    
     dd bs=1M iflag=fullblock if=/dev/sda2 status=progress | zstd -16v >/media/mint/Data/_Fsarchiver/MintV1.img.zst
     zstdcat /media/mint/Data/_Fsarchiver/MintV1.img.zst | dd bs=1M iflag=fullblock of=/dev/sda2 status=progress
    
  3. ルートシェルを取得するには、.prepのpv代わりに使用してください。ddsudo -s

     pv /dev/sda2 | gzip >/media/mint/Data/_Fsarchiver/MintV1.img.gz
     gzcat /media/mint/Data/_Fsarchiver/MintV1.img.gz | pv >/dev/sda2
    
     pv /dev/sda2 | zstd -16 >/media/mint/Data/_Fsarchiver/MintV1.img.zst
     zstdzcat /media/mint/Data/_Fsarchiver/MintV1.img.zst | pv >/dev/sda2
    

    また見てくださいddとpvを組み合わせたときの構文

常にそうであるように、読み取りに高い権限を使用するにはに変更し、command <source書き込みにsudo cat source | command高い権限を使用するにはにcommand >target変更しますcommand | sudo tee target >/dev/null

おすすめ記事