Установка файловой системы squashfs в режиме чтения-записи

У меня есть установка Clonezilla на USB-накопителе, и я хотел бы внести некоторые изменения в операционную систему. В частности, я хотел бы вставить исполняемый скрипт в /usr/sbin чтобы упростить запуск моей собственной команды резервного копирования, чтобы сделать резервные копии менее болезненными.

Основная файловая система находится в разделе /live/filesystem.squashfs на разделе USB FAT-32.

Как смонтировать это чтение / запись на моей машине Linux, чтобы иметь возможность добавлять / удалять / изменять файлы? У меня работает Ubuntu 12.04.

Как root, скопируйте 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 .

Здесь я нашел другой ответ:

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

Если ваша система поддерживает некоторую uion-файловую систему, такую ​​как aufs или overlayfs , вам не нужно извлекать исходный файл squashfs.

Например, используется overlayfs (опция ядра для его включения): вы можете сначала монтировать файл squashfs.file в / fm или где-то в другом месте. Подготовьте записываемую файловую систему с 2-мя каталогами, скажем / to и / temp . подготовьте другой доступный для записи каталог / плавник для объединенных результатов. Соедините их вместе как overlayfs к вашей системе —

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

Теперь вы можете добавлять / изменять файлы в / fin . Как только все будет сделано, вы можете добавить mksquashfs / fin в новый файл squashfs,

 mksquashfs /fin newfile; umount /fin 

, затем очистите / отключите все остальные используемые каталоги, как и вы.

Squashfs и некоторые unionfs обычно используются для live-cd .