以前は、fsarchiverを使用して圧縮パーティションイメージを作成していました。いくつかの 奇妙な振る舞い のため、それをdd
で置き換えることを選択しています。
ただし、私はfsarchiverが zstd で圧縮する方法が好きです。
それで、私は勉強しました、
これらが本質的に言っていることは、私は次のコマンドを使用してバックアップする必要がある
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
これらのコマンドを試しても安全ですか、それとも何か問題がありますか?
そのような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
を省略して、ルートとしてデバイスを直接読み書きします。 (私のバージョンではT6
が理解できないため、ここでは省略します。)
zstd -16v </dev/sda2 >/media/mint/Data/_Fsarchiver/MintV1.zst
zstdcat -v /media/mint/Data/_Fsarchiver/MintV1.zst >/dev/sda2
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
pv
の代わりにdd
を使用します。ルートシェルを取得するには、事前にSudo pv
または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