以前は、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 -c
zstd
zstd -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
人生は悲惨になります。ちょうど完全に切ってください。または、少なくともブロックサイズを大きくして、短い読み取りに反対しないように指示してください。
そうでない場合は、
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
使用時に with
dd
プレフィックスを使用したり、ルートシェルを取得したりするために使用できます。dd
sudo
sudo -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
ルートシェルを取得するには、.prepの
pv
代わりに使用してください。dd
sudo -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
。