Содержание

pfs-utils. Утилиты для работы с пакетами дистрибутива PuppyRus. Версии меньше 2.0 (2016г.)

В рамках работы над дистрибутивом PuppyRus был разработан новый формат пакетов: PFS.

Преимущество нового типа пакетов в том, что они соединяют в себе все плюсы PET-пакетов и SFS-модулей. Все файлы в пакете учтены. Возможна сборка и разборка базового модуля без сборочных сред или подключение к системе выше или ниже базового модуля.

Ограниченная поддержка .pet и .sfs оставлена для совместимости.

Обсуждение на форуме PuppyRus + Скачать (пакет в стадии тестирования).

Спецификация

Файлы .pfs содержат внутри стандартную файловую систему SFS со сжатием XZ.

Структура файловой системы внутри пакета

От корня «/»

В одном файле .pfs может быть включено несколько пакетов, в этом случае в каталоге «/etc/packages/mount» должно быть несколько каталогов «[Название_пакета]». При установке пакетов соответствующие каталоги [Название_пакета] перемещаются из каталога «/etc/packages/mount» в каталог «/etc/packages/install».

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

open_pfs

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

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

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

uninstall_pfs

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

manager_pfs

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

open_pet

Скрипт позволяет установить PET-пакет, либо конвертировать его в PFS.

loader_fs

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


editor_pfs

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

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

extractor_pfs

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

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

pfsload

Подключает файл .pfs к корневой файловой системе AUFS.

Также могут быть подключены SFS, 234fs, разделы Ext234 и каталоги на таких разделах к AUFS (скрипты sfsload, extload, dirload в настоящий момент являются ссылками на pfsload).

Использование:
Параметры (ключи):

pfsunload

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

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

pfsinstall

Устанавливает пакеты PFS в корневую файловую систему.

Использование:
Параметры (ключи):

pfsuninstall

Удаляет пакет из корневой файловой системы (файлы, используемые несколькими пакетами не будут удалены, пока хотя бы один из этих пакетов установлен или подключён).

pet2pfs

Конвертирует .pet в пакет PFS.

petinstall

Устанавливает .pet в режиме совместимости с PFS.

fileinpack

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

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

pfsinfo

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

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

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

mkpfs

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

Использование:
Параметры (ключи):

pfsmerge

Объединяет пакеты из нескольких файлов .pfs в один файл.

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

Допустимо смешанное использование (например «pfsmerge /сatalog_1 /file_1.pfs /сatalog_2 /file_2.pfs /outfile.pfs», в этом случае «/outfile.pfs» будет собран из «/file_1.pfs», «/file_2.pfs» и всех файлов .pfs из каталогов «/сatalog_1» и «/сatalog_2»).

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

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

Наличие пакетов с одинаковыми названиями в объединяемых файлах .pfs недопустимо. При наличии одинаковых пакетов скрипт выведет их список и завершит работу.

pfsextract

Извлекает отдельные пакеты из многопакетных файлов .pfs.

Использование:
Параметры (ключи):

Подключение PFS c копированием в RAM

Перед подключением можно скопировать пакет на RAM-диск.

Преимущества:

Недостатки:

Рекомендуется для компьютеров с RAM 500мб или более.

pfsramload

Копирует файл .pfs в оперативную память компьютера и подключает его.

Использование:
Параметры (ключи):

Для отключения файла используется скрипт pfsunload. После отключения нужно очистить оперативную память командой pfsramfree.

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


Зависимости

pfsdepends

Проверка зависимостей.

Использование:
Параметры (ключи):
Формирование списка зависимостей при создании пакета описано на форуме разработчиков:

http://forum.puppyrus.org/index.php/topic,12727.msg84950.html#msg84950