파티션의 df 크기가 스파스 플래그가 있는 dd-ed 이미지와 일치하지 않습니다.

파티션의 df 크기가 스파스 플래그가 있는 dd-ed 이미지와 일치하지 않습니다.

파티션 크기는 2Gb에 가깝고 실제 사용된 크기는 1.5Gb입니다. 활성화 플래그를 사용하여 이 파티션의 dd이미지를 생성 하려고 합니다 conv=sparse.

결과 이미지 dd크기는 1.8GB입니다.

du표시된 파티션의 실제 크기는 1.5Gb입니다.

나를 가장 혼란스럽게 하는 것은 그날 일찍 dd파티션을 편집할 때 표시되는 것입니다 du. 그런 다음 파티션에 몇 가지 변경 사항을 적용하고 다시 실행했습니다 dd. 이번에는 불일치가 있습니다.

그 원인은 무엇입니까? 메모리가 비어 있음에도 불구하고 비어 있거나 0이 아니므로 dd희소 알고리즘이 작동하지 않는 것 같습니다.

답변1

당신의 추측이 정확합니다. dd파일 시스템 사용에 대한 개념은 없으며 단지 데이터를 복사합니다(또는 conv=sparse설정되어 있고 전체 블록이 0인 경우 복사하지 않음).

100% 완전한 파일 시스템을 보유하는 것도 가능하지만 매우 작은 dd 스파스 이미지도 가능합니다. 파일이 모두 0이라고 가정해 보겠습니다.

여유 공간과 의도적으로 제로화되었지만 사용된 공간에는 차이가 있지만 dd이에 대한 개념은 없습니다. 따라서 conv=sparse특히 회복 중에 주의해서 사용해야 합니다.

복원된 희소 이미지를 사용하는 경우 conv=sparse대상 장치를 완전히 0으로 설정해야 합니다. 그렇지 않으면 0이 아닌 오래된 데이터가 0이 있어야 하는 위치에 남아 있게 됩니다. 그 결과 파일 시스템이 손상됩니다.

관련 정보