이전에는 fsarchiver를 사용하여 압축된 파티션 이미지를 만들었습니다. 어떤 일로 인해이상한 행동으로 교체하기로 했습니다 dd
.
그러나 나는 fsarchiver가 압축하는 방식을 좋아합니다.이것이 표준이다.
그래서 조사해보니,
- 디스크 이미지를 만들고 나중에 복구하는 방법은 무엇입니까?
- DD를 사용한 디스크 복제
- DD를 사용하여 전체 디스크 이미지 만들기
- 동적 압축 dd 백업
- dd의 진행 상황을 어떻게 모니터링합니까?
이것이 본질적으로 말하는 것은 백업하려면 다음 명령을 사용해야 한다는 것입니다.
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
하고 장치를 루트로 직접 읽고 쓰십시오. (내 버전은 귀하의 버전을 이해하지 못하므로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
.
답변2
zstd
동일한 명령 및 파이프라인 기능이 지원되므로 gzip
명령 세트가 작동하면 gzip
역시 작동합니다 zstd
.
작은 의견으로 압축 해제 측의 몇 가지 명령 플래그가 중복된다는 점에 유의하십시오. 이 경우 충분 하고 zstd -dvc
동일하게 작동하며 쓸모가 없습니다(다행히도 손상되지는 않지만).-f
-T6