Большинство LiveCD дистрибутивов (Debian, Ubuntu, Fedora, Mint, etc) содержат файл filesystem.squashfs, который является контейнером с сжимающей файловой системой, распаковываемой и загружаемой при загрузке LiveCD. Ниже будет описано, как добавлять/удалять и редактировать файлы в таком контейнере.
Для обновления содержимого squashfs необходимо установить пакет squashfs-tools
, он есть в большинстве популярных Linux дистрибутивов. После этого перейдите в каталог, где лежит filesystem.squashfs, войдите в сеанс супер-пользователя:
cd ~/work_dir
su
и распакуйте контейнер:
unsquashfs filesystem.squashfs
И сразу после этого удалите или перенесите оригинальный файл в другую папку:
mv filesystem.squashfs ~/backup/
После распаковки в папке, где изначально лежал контейнер, появится каталог squashfs-root
– изменяйте его, как вам это необходимо: добавляйте, удаляйте, редактируйте его содержимое.
Когда все необходимые изменения будут проведены, вы можете пересоздать файл обновленного squashfs-контейнера:
mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot
Это потребует какого-то времени, но в результате вы получите обновлённый filesystem.squashfs. Если надо добавить его в существующий iso-образ, это можно сделать с помощью удобной gui-утилиты isomaster
.
Важно делать все эти команды под root. Если всё это сделать под обычным пользователем, squashfs пересоберется, но в результате на Live-системе могут перестать работать программы su
и sudo
.
the main question not addressed here – how to insert this updated file into bootable .iso file from which it was taken?
You can use
isomaster
(gui) ormkisofs
(cli) for that.