읽기-쓰기 모드로 squashfs 파일 시스템 마운트

읽기-쓰기 모드로 squashfs 파일 시스템 마운트

USB 스틱에 Clonezilla를 설치했는데 운영 체제를 일부 수정하고 싶습니다. 특히, 실행 가능한 스크립트를 삽입하여 /usr/sbin자체 백업 명령을 쉽게 실행할 수 있도록 하여 백업이 덜 고통스럽도록 만들고 싶습니다 .

/live/filesystem.squashfs기본 파일 시스템은 USB FAT-32 파티션 아래에 있습니다 .

파일을 추가/제거/변경할 수 있도록 Linux 컴퓨터에 이 읽기/쓰기 기능을 어떻게 설치합니까? 저는 Ubuntu 12.04 파생 버전을 실행하고 있습니다.

답변1

이것은 당신이뿌리squashfs-tools시스템에 설치됩니다 .


filesystem.squashfs예를 들어 다음과 같이 빈 디렉터리에 복사합니다 .

cp /path/to/filesystem.squashfs /path/to/workdir
cd /path/to/workdir

파일의 압축을 풀고 다른 위치로 옮깁니다(아직 백업으로 보관할 수 있습니다).

unsquashfs filesystem.squashfs
mv filesystem.squashfs /path/to/backup/

들어가서 squashfs-root취향에 맞게 추가/수정하고 1을 filesystem.squashfs 다시 만드세요 .

cd /path/to/workdir
mksquashfs squashfs-root filesystem.squashfs

새로 생성된 파일을 filesystem.squashfsUSB 드라이브의 기존 파일에 복사합니다. 예:

cp filesystem.squashfs /mnt/clonezilla/live/

그런 다음 재부팅하고 LIVE USB를 사용하십시오.


1: 좋아요, 좋아요 -b 4M -comp lz4등 의 -comp xz -Xbcj x86다른 옵션 에 대해서는 매뉴얼을 확인하세요.

답변2

시스템이 다음과 같은 일부 uion 파일 시스템을 지원하는 경우오브또는파일 시스템 덮어쓰기, 원본 squashfs 파일을 추출할 필요가 없습니다.

예를 들어파일 시스템 덮어쓰기(이를 활성화하는 커널 옵션) 사용: squashfs.file을 설치하여/FM아니면 먼저 다른 곳으로 가세요. 2개의 디렉터리를 포함하는 쓰기 가능한 파일 시스템 준비/도착하다그리고/온도. 쓰기 가능한 다른 디렉토리 준비/지느러미병합된 결과의 경우. 시스템에 overlayfs로 설치하십시오 ---

mount -t overlay -o lowerdir=/fm,upperdir=/to,workdir=/temp overlay /fin

이제 파일을 추가/수정할 수 있습니다/지느러미. 모든 작업이 완료되면 mksquashfs를 수행할 수 있습니다./지느러미새로운 squashfs 파일로,

mksquashfs /fin newfile; umount /fin

, 그런 다음 필요에 따라 사용된 다른 모든 디렉터리를 지우거나 마운트 해제합니다.

이것호박 파일 시스템좀 남았어동맹일반적으로 다음 용도로 사용됩니다.라이브 CD.

답변3

여기, 다른 답변을 찾았습니다.

bash# mount dir.sqsh /mnt/dir -t squashfs -o loop

답변4

다음은 overlayfs를 사용하여 수행할 수 있는 Martian2020의 답변을 기반으로 한 스크립트입니다. 쉽게 복원할 수 있도록 fstab 파일을 생성하고 있습니다.mount -a --fstab

#!/bin/bash
set -eu
src=$(realpath $1)
tgt_dir=$(dirname $(realpath ${2-$src}))
tmp=${2-$(dirname $src)/$(basename --suffix=.squashfs $src)}
tgt_name=$(basename $tmp)
target=$tgt_dir/$tgt_name
workdir=$tgt_dir/.$tgt_name-work
lowerdir=$tgt_dir/.$tgt_name-lower
upperdir=$tgt_dir/.$tgt_name-upper
fstab=$target/fstab
echo $src $target $workdir $lowerdir $upperdir
set -x
mkdir $workdir
mkdir $upperdir
mkdir $lowerdir
mkdir $target
cat > $fstab <<EOT
# This fstab can be used with "sudo mount --fstab $fstab -a" or appended to
# /etc/fstab
$src $lowerdir squashfs loop,ro 0 0
overlay $target overlay lowerdir=$lowerdir,upperdir=$upperdir,workdir=$workdir 0 0
EOT
sudo mount --fstab $fstab -a

관련 정보