압축 된 하드 드라이브 이미지가 매우 큼


20

방금이 명령을 사용하여 새로 설치된 이중 부팅 (Ubuntu 및 Windows)의 이미지를 만들었습니다 (작은 이미지에는 한동안 사용했습니다).

dd if=/dev/sda | gzip > /mnt/drive.img.gz

이 드라이브에는 500G 중 60G 미만이 사용됩니다. 그럼에도 불구하고 그 이미지 파일은 현재 409G입니다.

방법 것입니다? gzip이 모든 0을 압축하지 않아야합니까? 내가 말했듯이, 새로 설치된 시스템입니다. 어수선 할 수 없었습니다.

이제 파일이 60G가 될 것으로 기대하지 않았지만 400G는 나에게 매우 큰 것 같습니다.


13
... 무슨 제로?
Monica와의 가벼움 경주

답변:


29

방법 것입니다? gzip이 모든 0을 압축하지 않아야합니까?

예, 만약 그들이 0이라면 .

사용되지 않은 디스크 공간이 0을 포함한다는 의미는 아닙니다. 그것은 사용되지 않으며 무엇이든 포함 할 수 있음을 의미합니다 .

사용하지 않는 디스크 공간을 0으로 지우는 프로그램이 있습니다. 디스크 이미지를 만들기 전에 사용하는 것이 좋습니다. (나는 어떤 렇게을 기억하지 않습니다, 리눅스, 그냥 사용하십시오 dd if=/dev/zero bs=1048576 of=somefile각각의 파일 시스템을 채우고 만 제로가 포함 된 파일을 만들;. 다음 이미지를 만들기 전에 제거 또한, 내가 선호하는 xz이상 gzip.)


고마워, 나는 그것을 설치하기 전에 그 드라이브에 무엇이 있는지 생각조차하지 않았다! 나는 그 이미지를 압축 해제하고 그것을 더 작게 만드는 것이 더 빠르다고 생각합니다 (솔루션도있는 것처럼 보입니다). 또한 xz 사용을 고려할 것입니다. 감사!
chris137

12
클론을 만들 때마다 400G의 0을 쓰는 것은 SSD에서 좋은 생각이 아닙니다. 다른 솔루션 (파일 시스템 인식 복제 프로그램 사용)이 더 좋아 보입니다.
Federico Poloni

4
@FedericoPoloni : 아니요. 그러나 생성 된 이미지는 완벽한 원시 디스크 이미지 입니다. 디스크 복제 유틸리티 는 다양한 형식을 사용하므로 이미지를 복원하는 유틸리티가 필요합니다. 이미지에서 사용되지 않은 블록을 0으로 바꾸는 동안 실제로 원시 이미지를 생성 할 수있는 것은 알지 못하지만 확인되지 않았습니다. 정말 유용 할 것입니다. ddLinux에서 사용 하는 것이 원시 이미지 크기 문제를 해결하는 가장 간단하고 쉬운 방법이며 일회성으로 SSD에서도 가능합니다.
공칭 동물

1
@FedericoPoloni : 예. gzip 및 xz 압축 이미지 nbdkit을 사용하여 마운트 할 수 있습니다 . (형식이 둘 이상의 유틸리티에서 열려 있고 지원되는 경우 실제로 형식에 대해 걱정하지 않습니다. 새 시스템에서 유틸리티가 유지 관리되지 않고 버그가있는 것만 걱정합니다. xz 또는 SquashFS 대신 SquashFS 를 사용하게되어 기쁩니다. gzip, 예를 들어.)
명목 동물

3
@Gilles 잘린 공간은 읽을 때 0을 보장하지 않습니다. 어떤 컨트롤러는 그렇게하고 다른 컨트롤러는 그렇지 않습니다.
deviantfan

14

개별 파티션 백업의 경우 partclone을 대신 사용할 수 있습니다 .

Partclone은 파일 시스템을 읽어 파일이 저장된 위치를 확인하고 파티션의 해당 부분 만 백업합니다.


3
또한 Clonezilla 는이를위한 훌륭한 GUI입니다.
Federico Poloni

partimage는 훌륭한 도구이며 이미 많은 Linux 배포판 / 라이브 CD에 있습니다.
Criggie

이 정맥의 또 다른 도구는 fsarchiver입니다.
Iwillnotexist Idonotexist
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.