답변:
루트로서 filesystem.squashfs
빈 디렉토리에 복사하십시오 . 예 :
cp /mnt/clonezilla/live/filesystem.squashfs /path/to/workdir
cd /path/to/workdir
파일의 압축을 푼 다음 다른 곳으로 옮깁니다 (여전히 백업으로 사용).
unsquashfs filesystem.squashfs
mv filesystem.squashfs /path/to/backup/
에 들어가서 squashfs-root
취향에 따라 추가 / 수정 한 다음 다시 만드십시오 filesystem.squashfs
:
cd /path/to/workdir
mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot
filesystem.squashfs
USB 드라이브의 기존 드라이브 위에 새로 생성 된 사본을 복사하십시오 . 예 :
cp filesystem.squashfs /mnt/clonezilla/live/
그런 다음 LIVE USB를 재부팅하고 사용하십시오.
참고 : 위 명령은의 일부입니다 squashfs-tools
.
/usr/bin
하고로 다시 포장 한 후 여기에 오류가 발생하지 않습니다 mksquashfs
. USB 드라이브가 제대로 부팅되고 라이브 세션에서 스크립트를 사용할 수 있습니다. 실행하기 전에 filesystem.squashfs
수정 한 디렉토리와 동일한 디렉토리에 더 이상 이전 디렉토리 가 없는지 확인하십시오 . squashfs-root
mksquashfs
create_inode: could not create character device squashfs-root/dev/audio, because you're not superuser!
squashfs-root/dev/*
일반 사용자로 장치 파일 ( )을 만들 수 없으며 루트 권한이 필요합니다.
시스템이 aufs 또는 overlayfs 와 같은 일부 uion 파일 시스템을 지원하는 경우 원래 squashfs 파일을 추출 할 필요가 없습니다.
예를 들어 overlayfs 가 사용됩니다 (커널 옵션으로 활성화) : squashfs.file을 / fm 또는 다른 곳에 마운트 할 수 있습니다 . / to 및 / temp 와 같이 2 개의 디렉토리가있는 쓰기 가능한 파일 시스템을 준비하십시오 . 병합 된 결과를 위해 다른 쓰기 가능한 디렉토리 / fin 을 준비 하십시오. 시스템에 오버레이로 함께 마운트하십시오 ---
mount -t overlay -o lowerdir=/fm,upperdir=/to,workdir=/temp overlay /fin
이제 / fin에 파일을 추가 / 수정할 수 있습니다 . 모든 것이 끝나면 mksquashfs / fin 을 새로운 squashfs 파일로 만들 수 있습니다 .
mksquashfs /fin newfile; umount /fin
그런 다음 사용 된 다른 모든 디렉토리를 지우거나 마운트 해제하십시오.
SquashFS는 일부 unionfs는 일반적으로 사용되는 라이브 CD .
여기 에 다른 답변이 있습니다.
bash# mount dir.sqsh /mnt/dir -t squashfs -o loop
그림과 같이 overlayfs를 사용하는 것이 의사 "squashfs rw"를 갖는 가장 좋은 방법입니다. 그러나> 4.x 커널 (또는 ubuntu> 14.x trusty)에서 실행해야합니다.
overlayfs / aufs / unionfs없이 구형 라이브 CD에 앉아있을 때 대체 솔루션은 squashfs 자체 기능을 사용하는 것입니다
중대한:
without unsquashfs, so this can be done on low storage system
예:
squashfs의 "usr"디렉토리 수정
1 mount squashfs_file /mnt
2 cp -a /mnt/usr $HOME ##modify whatever $HOME/usr as needed
3 mksquashfs /mnt new_squashfs_file -wildcards -e usr
4 mksquashfs $HOME/usr new_squashfs_file -keep-as-directory
5 umount /mnt # cleanup
3 행은 olddir_usr을 제외하고 일시적으로 squashfsfile을 빌드합니다.
4 행은 modified-usr-dir을 new_squashfsfile에 추가합니다.
Source directory entry bin already used! - trying bin_1
. 물론 내 출력 파일 시스템 에는 폴더를 병합하는 대신 a/bin
및 a가/bin_1
있습니다. 어떤 아이디어?-noappend,
파일 시스템으로 실행 하면 작동하지 않습니다.