Содержание

pfs-utils. Утилиты для работы с модулями squashfs. Версия 4

Терминология и спецификации формата PFS

Внимание!!! Не рекомендуется использовать в именах файлов и путей пробелы и символы имеющие для sh (bash) специальное значение.

Конфигурационные файлы

Переменные

Служебная информация внутри модуля.pfs (метаданные)

Служебная информация хранится внутри модуля отдельно для каждого источника использованного при сборке mkpfs. Каталог для метаданных:

Функционал pfs-utils

Зависимости

Консольные команды

Утилиты pfs-utils содержат консольные скрипты и графические «обертки» к ним - GUI. Консольные утилиты являются общими для всех дистрибутивов, а GUI могут отличаться от описанных в данном руководстве либо отсутствовать вовсе.

aufs-n

Показывает информацию о слоях AUFS

Параметры (ключи):

addmemory

Увеличение размера корневой aufs за счет своп файла. Подробнее

chroot2pfs

Собирает несколько слоев AUFS в новый корень, в который делается chroot. Внутри выполняются действия, результат которых при выходе из chroot (Ctrl+d или exit) сохраняется

Варианты chroot :

-c | –contaner -тип контейнера

chroot2pfs -o ModuleDIR  --flist /tmp/module.list --command apt install mc
chroot2pfs --nomod -X -c nspawn --mlist /pth/1.pfs,#2.pfs --command pcmanfm

В качестве слоев AUFS можно использовать:

chroot2pfs --bind ./::/tmp/bind --command urpmi /tmp/bind/пакет.rpm

Возможные действия внутри chroot

Сохранение результатов

mkpfs

Создаёт .pfs из каталога (аналогично mksquashfs). Автоматически создаёт файлы pfs.files, pfs.specs и pfs.dirs.empty (при наличии внутри pfs пустых каталогов).

Использование:

Параметры (ключи):

Можно объединять до 126 .pfs (минус уже использованные другими монтированиями loop dev) за один проход (если не указывать при загрузке параметр ядра max_loop с меньшим значением). Это ограничение AUFS. При большем количестве pfs рекомендуется объединить их в файлы по 126 pfs, потом объединить эти файлы.

mountfile

Вспомогательный скрипт, монтирует модули

Использование:

umountfile

Вспомогательный скрипт, размонтирует модули.

ВАЖНО. Требует дополнительного редактирования для последующего использования в сборках PRA. Подробнее

pfs

Использование:

Функции (<function>):

pfsload

Параметры (ключи):

Использование:

pfsunload

Отключает файл от корневой файловой системы AUFS.

Параметры и ключи

Использование:

pfsunload /file.pfs

pfsuninstall

Удаляет pfs из корневой файловой системы

pfsfind

Информация о том, к какому подключенному или установленному pfs относится указанный файл. Допустимо указывать часть имени файла.

Использование:

pfsinfo

При запуске pfsinfo /file.pfs выводит список pfs в составном.pfs

При запуске без параметров выводит список всех pfs в системе.

Параметры (ключи):

pfsextract

Использование:

Параметры (ключи):

pfsrebuild

Cборка нового модуля по списку файлов из уже подключенного к aufs.

ВАЖНО. Ограниченный функционал, использовать для пересборки модули только с root содержимым, т.к. самопроизвольно меняет владельца папок на root. Подробнее

Использование:

pfsrebuild <PACKAGE> <args for mkpfs>

sync2layer

Переносит файлы из верхнего слоя aufs во второй слой.

Использование:

syschanges

Отслеживание изменений в rw слое корневой aufs. Подробнее


Графические скрипты (GUI)

open_pfs

Основной скрипт, позволяет подключить, отключить или установить модули.pfs.

Если в подключаемом .pfs есть файл «/tmp/.pfs/.command», содержащий команду запуска программы (например «firefox») - то после подключения пользователю будет предложено запустить эту команду.

После подключения или установки pfs выводится список отсутствующих зависимостей.

uninstall_pfs

Удаляет выбранные пользователем pfs.

manager_pfs

Показывает список всех (постоянно подключённых, временно подключённых и установленных) pfs в системе.

ВАЖНО. Отсутствует в сборках с некоторых пор.

loader_fs

Позволяет подключить к корневой файловой системе AUFS файлы SFS, 234fs и разделы Ext234 (GUI к pfsload | sfsload | extload).

ВАЖНО. Отсутствует в сборках с некоторых пор.


editor_pfs

Редактор файлов PFS (GUI к pfsmerge).

Принцип работы скрипта:

ВАЖНО. Функционал неполный с некоторых пор. Подробнее

extractor_pfs

Скрипт позволяет извлечь один или несколько модулей из файла .pfs (GUI к pfsextract).


Обсуждение на форуме.