Сайт | Скачать | Видео | Wiki

Автор Тема: Пакеты и модули: PET, SFS, PFS  (Прочитано 6205 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zay

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1537
  • Репутация: +24/-0
Пакеты и модули: PET, SFS, PFS
« : 13 Июнь 2013, 18:27:37 »
В операционных системах Puppy и PuppyRus используется несколько типов пакетов и модулей (аддонов).

Примечание: Кроме собственных типов многие дистрибутивы Puppy(Rus) поддерживают пакеты .deb и .rpm, но эта поддержка является дополнительной функцией, не поддерживается докачка зависимостей и т.д., поэтому рекомендуется использовать пакеты стандартного типа для используемого дистрибутива.


Пакеты типа PET (файлы с расширением .pet).

Это самый распространенный тип пакетов в Puppy и PuppyRus, поддерживается практически всеми версиями дистрибутива.
В дистрибутивах проекта Puppy Linux (в т.ч. локализованных) PET является основным типом пакетов. Устаревшие дистрибутивы PuppyRus также собирались из PET-пакетов.
В современных версиях PuppyRus (начиная c версии 12.12) используется другой тип пакетов - PFS. Поддержка PET сохранена для обратной совместимости.


Модули (аддоны) SquashFS (файлы с расширеним .sfs).

SquashFS - это файл, содержащий внутри полноценную сжатую файловую систему (только для чтения).
В дистрибутивах Puppy такие файлы используются для двух целей:
Один или несколько файлов SFS содержат в себе корневую файловую систему дистрибутива (подробнее см. Архитектура файловой системы Puppy Linux).
Кроме того, в файлах SFS распространяются большие программы (или наборы программ), в них же обычно закладываются требуемые библиотеки.

Преимущества использования модулей SFS перед пакетами PET - в возможности горячего подключения и отключения их непосредственно в корневую файловую систему.
Работает это так: При подключении SFS-модуля файлы, содержащиеся в нём, "возникают" в корневой файловой системе в соответствующих каталогах (при этом файлы на самом деле не копируются, а читаются операционной системой непосредственно из SFS-модуля). При отключении SFS-модуля эти файлы исчезают из файловой системы.


Пакеты типа PFS (файлы с расширением .pfs).

PFS (Package sFS) - это новый тип пакетов, разработанный командой проекта PuppyRus в 2012 году.
Пакеты типа PFS соединяют в себе преимущества пакетов PET (хранение информации о пакете внутри) и модулей SFS (возможность подключения).
Другая особенность пакетов PFS - использование контейнеров. Файл с расширением .pfs является контейнером, который может содержать внутри один или несколько пакетов PFS. Контейнеры легко перепаковать (добавить или удалить необходимые пакеты, объединить или разделить контейнеры).
Контейнеры PFS можно подключать в корневую файловую систему (так же как SFS-модули). PFS-пакеты также могут быть установлены в систему (так же как PET, или любые другие пакеты). При установке можно выбрать необходимые пакеты из контейнера, а подключать/отключать можно только весь контейнер сразу.

В операционной системе PuppyRus PFS является стандартным форматом пакетов. Основные компоненты системы также хранятся в одном или нескольких файлах .pfs (контейнерах), которые автоматически подключаются при загрузке системы.
В дистрибутивах Puppy Linux пакеты PFS либо пока не поддерживаются, либо поддерживаются в тестовом режиме.



Примечания:

SFS модули для Puppy встречаются двух видов: SFS v.3 (устаревшие) и SFS v.4 (актуальные). Все современные (поддерживаемые) дистрибутивы Puppy и PuppyRus поддерживают только SFS v.4 Модули SFS v.3 сегодня практически не встречаются, но их ещё можно найти на форумах и в некоторых репозиториях.

Модули SFS кроме версии различаются типом сжатия: gz (стандартный тип) и xz (новый, более эффективный алгоритм). Поддержка SFS с типом сжатия xz присутствует только в дистрибутивах, в которых используется ядро Linux версии 2.6.38 или более новое. Это же относится и к поддержке функции подключения контейнеров PFS, в которых также используется сжатие xz.

При подключении модулей SFS или контейнеров PFS в Puppy и PuppyRus существует ограничение - нельзя подключать более чем 126 (в некоторых режимах 125) модулей или контейнеров одновременно (а в некоторых устаревших дистрибутивах ограничение 64, 32, 10 или 3).
В случае использования PFS это ограничение можно обойти если объединить несколько контейнеров PFS в один (при необходимости их можно потом снова разделить).