압축을 풀고 다시 포장하지 않고 squashfs 이미지를 직접 편집하는 방법은 무엇입니까?

압축을 풀고 다시 포장하지 않고 squashfs 이미지를 직접 편집하는 방법은 무엇입니까?

부팅 가능한 iso 파일에서 복사한 squashfs 이미지 파일이 있습니다. 파일이 마운트되면 항상 읽기 전용으로 마운트됩니다.

squashfs 이미지를 먼저 추출하지 않고 바로 내용을 편집할 수 있나요? 아니면 squashfs 이미지를 읽기-쓰기로 마운트할 수 있나요?

답변1

squashfs 이미지는 내용을 추출하지 않고도 수정할 수 있지만 몇 가지 제한 사항이 있습니다. mksquashfs이 옵션을 지정하지 않고 기존 squashfs 이미지를 대상 매개변수로 지정하면 -noappend지정된 소스 매개변수에서 추가 파일을 추가하려고 시도합니다. 충돌이 발생하면 새 이름을 생성하려고 시도하는 것 같습니다 mksquashfs. 이는 파일을 제자리에서 편집하는 것이 목표라면 원하는 것이 아닐 수 있습니다.

원칙적으로는 mksquashfs추가 모드에서 파일 교체를 허용하고 프로세스에서 이름을 보존하는 것이 가능하지만, 내가 사용하고 있는 버전 mksquashfs version 4.3-git (2014/06/09)(sid의 현재 데비안 패키지)에서는 이를 허용하지 않는 것 같습니다. 올바른 코드를 사용하여 squashfs 이미지를 임의로 증분 변경할 수 있어야 합니다(단순히 기존 블록을 분리하고 기존 파일 오프셋을 재사용하고 새 데이터를 추가하는 경우 파일 삭제가 공간을 절약하지 못할 수 있음). 제대로 작동할 가능성이 너무 높음 이미 설치된 이미지(수정하기 전에 이미지를 제거한 다음 다시 설치해야 함).

관련 정보