diff에서 ext4 img 생성

diff에서 ext4 img 생성

변경된 파일만 포함해야 하는 ext4 파일 시스템에서 업데이트 이미지를 생성하려고 합니다. 그래서 기본적으로 저는 ext4 루트 파일 시스템을 갖춘 데비안 배포판을 가지고 있습니다. 기본 이미지 A를 생성한 다음 업데이트(예: apt 업데이트)를 설치하고 싶습니다. 업데이트한 후 다른 이미지를 만들고 싶습니다. B. 항상 전체 이미지 B를 복사할 필요가 없도록 이미지 A와 이미지 B의 변화를 비교하여 "차이 이미지"를 만드는 방법이 있습니까? 그 이유는 최종 이미지를 다른 장치에 설치하고 모든 변경 사항을 복사해야 하기 때문입니다(첫 번째 장치에서 업데이트한 변경 사항을 두 번째 장치에 업데이트하는 것으로 생각하세요).

답변1

나는 "diff 이미지"가 당신이 원하는 것처럼 파일 시스템 수준에서 작동하지 않을 것이라고 생각합니다. 파일/디렉터리, 메타데이터 체크섬(최신 시스템의 경우), 로그 블록 등의 배치에 변수가 너무 많아 한 파일 시스템에서 블록 수준 차이를 가져와 다른 파일 시스템에 적용하는 것이 불가능합니다.두 파일 시스템이 처음에 동일하더라도. 혹시라도어느일반적인 사용 중에 두 번째 파일 시스템을 수정한 후 적용합니다.블록 레벨diff는 두 번째 파일 시스템을 손상시킵니다. 어떤 경우에는 손상이 경미할 수 있습니다(예: 슈퍼블록 또는 그룹 설명자의 사용 가능한 블록/inode 수 불일치). 다른 경우에는 심각한 손상이 발생할 수 있습니다(예: 잘못된 비트맵, 로그 블록 등).

더욱 실용적으로 사용할 수 있어요파일 수준diff는 본질적으로 "rsync"(또는 병렬 버전)이며 ext4에만 국한되지 않습니다. 업그레이드 중에 파일 시스템에서 fsnotify 감시자를 사용하여 수정된 모든 파일 목록을 생성함으로써 rsync 프로세스 속도를 높일 수 있으므로 전체 파일 시스템 검사가 필요하지 않습니다.

관련 정보