mksquashfs에 기존 소스 폴더 병합

mksquashfs에 기존 소스 폴더 병합

존재하다이 답변이전 질문에서 저는 squashfs 파일 시스템의 파일을 수정하는 방법을 알아냈습니다.

# unsquash the filesystem to a local directory
sudo cp /media/clonezilla/live/filesystem.squashfs ./
sudo unsquashfs filesystem.squashfs
# now, insert my own script which I want as part of the distribution
sudo cp ~/autobackup squashfs-root/usr/sbin/
# now, resquash the filesystem to be able to use it
sudo mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot

그러나 마지막 줄에서 파일 시스템을 만드는 데 몇 가지 문제가 있습니다.

Source directory entry bin already used! - trying bin_1
Source directory entry dev already used! - trying dev_1
Source directory entry etc already used! - trying etc_1
Source directory entry home already used! - trying home_1
Source directory entry initrd.img already used! - trying initrd.img_1
Source directory entry lib already used! - trying lib_1
Source directory entry lib64 already used! - trying lib64_1
Source directory entry media already used! - trying media_1
Source directory entry mnt already used! - trying mnt_1
Source directory entry opt already used! - trying opt_1
Source directory entry proc already used! - trying proc_1
Source directory entry root already used! - trying root_1
Source directory entry run already used! - trying run_1
Source directory entry sbin already used! - trying sbin_1
Source directory entry selinux already used! - trying selinux_1
Source directory entry srv already used! - trying srv_1
Source directory entry sys already used! - trying sys_1
Source directory entry tmp already used! - trying tmp_1
Source directory entry usr already used! - trying usr_1
Source directory entry var already used! - trying var_1
Source directory entry vmlinuz already used! - trying vmlinuz_1

bin_1기본적으로 기존 squashfs 파일 시스템을 덮어쓰기 때문에 중복된 파일을 병합하지 않고 파일 시스템의 루트에 , etc_1, 등이라는 이름 var_1의 새 폴더와 파일을 생성합니다.tmp_1

분명히 이것은 바람직하지 않습니다. 디렉토리를 강제로 병합하는 방법이 있습니까? 를 사용하여 실행해 보았지만 -noappend이로 인해 Clonezilla 설치가 중단되어 Clonezilla 마법사에 들어갈 수 없었습니다. 어떤 아이디어가 있나요?

답변1

다른 답변에서 말했듯 이 수정된 파일을 새 파일로 다시 패키징하기 전에 이전 파일을 filesystem.squashfs다른 위치로 이동하거나 이름을 바꿔야 합니다.squashfs-rootfilesystem.squashfs

mv filesystem.squashfs /path/to/backup/

또는

mv filesystem.squashfs filesystem.squashfs.old

그 다음에:

mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot

관련 정보