가상 게스트를 백업하기 전에 디스크 공간을 최적화하는 스크립트를 실행합니다(실제로 어떤 하이퍼바이저를 사용하는지는 중요하지 않습니다).
최신 Ubuntu 버전(예: 18.04)은 /swapfile
기본적으로 파티션 대신 파티셔닝을 사용하는 것 같습니다. 그것도 좋습니다.
그러나 스왑 파일과 이를 포함하는 루트 파티션을 0으로 채우고 싶습니다.
교환이 있습니다분할$UUID
스왑 파티션에서 기존 파티션을 추출하고 파티션을 0으로 만든 후 실행하여 mkswap -U $UUID
해당 스왑 파티션을 다시 생성하는 방법이 항상 있기 때문에 이는 비교적 고통스럽지 않습니다 .
그러나 /swapfile
어떻게 해야 할지 모르겠습니다. /swapfile
UUID를 통해 설치할 수 없다는 것을 알고 있지만 /etc/fstab
여전히 UUID를 유지하고 싶습니다.
따라서 계속 진행하려면 다음 중 하나가 필요하다고 생각합니다.
- 스왑 파티션으로 만드는 구조를 지우지 않고 스왑 파일을 0으로 채울 수 있는 방법이 필요합니다(예: 실행 방지
mkswap -U $UUID
). - 교환에서 기존 UUID를 검색하는 방법이 필요합니다.문서
blkid
( 보기 에 무엇이든 사용할 수 있는 파티션과는 반대입니다/dev/disk/by-uuid/$UUID
...)
답변1
이렇게 하면 스왑 파일을 다시 생성하는 것만큼 완전히 지워지지는 않지만 첫 번째 4KiB(엄격히 아키텍처에 따라 첫 번째 페이지)를 건너뛴 후 지우면 어떤 구조도 건드리지 않습니다. 스왑 파일을 식별합니다. .
blkid
스왑 파일에서도 잘 작동합니다.$ mkswap swap Setting up swapspace version 1, size = 512 MiB (536866816 bytes) no label, UUID=7916b81f-1faa-4b7d-84ef-b0bf2f75dbbc $ blkid swap swap: UUID="7916b81f-1faa-4b7d-84ef-b0bf2f75dbbc" TYPE="swap"
헤더 형식은 다음과 같습니다.커널에 정의됨: 이전 형식은 첫 번째 페이지 끝에 마법 같은 가치가 있었지만, 새로운 형식은 이를 1KiB의 여유 공간과 쉽게 들어갈 수 있는 여러 필드(버전, 크기, 잘못된 페이지, UUID, 태그)와 결합합니다. 첫 페이지.