blu*_*ray 7 command-line compression dd zstd
早些时候我使用 fsarchiver 创建压缩分区映像。由于一些奇怪的行为,我选择用dd.
所以,我学习了,
这些基本上说的是,我必须使用以下命令进行备份
dd if=/dev/sda2 status=progress | gzip -c > /media/mint/Data/_Fsarchiver/MintV1.img.gz
Run Code Online (Sandbox Code Playgroud)
和以下命令来恢复
gunzip -c /media/mint/Data/_Fsarchiver/MintV1.img.gz | dd of=/dev/sda2 status=progress
Run Code Online (Sandbox Code Playgroud)
现在我想更换gzip -c及gunzip -c与zstd&zstd -d
我想出的命令是
压缩
sudo dd if=/dev/sda2 status=progress | zstd -16vT6 > /media/mint/Data/_Fsarchiver/MintV1.zst
Run Code Online (Sandbox Code Playgroud)
解压
zstd -vdcfT6 /media/mint/Data/_Fsarchiver/MintV1.zst | dd of=/dev/sda2 status=progress
Run Code Online (Sandbox Code Playgroud)
尝试这些命令是否安全,还是我做错了什么?
roa*_*ima 14
那样使用dd(没有任何选择)会让你的生活变得悲惨。把它完全剪掉。或者至少增加它的块大小并告诉它不要反对短读。
如果没有dd,首先运行sudo -s以获取 root shell:
gzip </dev/sda2 >/media/mint/Data/_Fsarchiver/MintV1.img.gz
gunzip </media/mint/Data/_Fsarchiver/MintV1.img.gz >/dev/sda2
Run Code Online (Sandbox Code Playgroud)
您的zstd命令看起来完全合理,但只是省略dd并直接以 root 身份读/写设备。(我的版本不明白你的T6所以我在这里省略了。)
zstd -16v </dev/sda2 >/media/mint/Data/_Fsarchiver/MintV1.zst
zstdcat -v /media/mint/Data/_Fsarchiver/MintV1.zst >/dev/sda2
Run Code Online (Sandbox Code Playgroud)With dd,或者前缀ddwithsudo或 usesudo -s来获得一个 root shell:
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
Run Code Online (Sandbox Code Playgroud)用pv代替dd。使用sudo pv或sudo -s预先获取root shell:
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
Run Code Online (Sandbox Code Playgroud)
另请参阅组合 dd 和 pv 时的语法