====== Пакеты и модули: PET, SFS, PFS ======
В операционных системах [[/puppy/start|Puppy]] и [[/puppyrus/start|PuppyRus]] используется несколько типов пакетов и модулей (аддонов).
Кроме собственных типов многие дистрибутивы Puppy(Rus) поддерживают пакеты **.deb** и **.rpm**, но эта поддержка является дополнительной функцией, не поддерживается докачка зависимостей и т.д., поэтому рекомендуется использовать пакеты стандартного типа для используемого дистрибутива.
==== Пакеты типа PET (файлы с расширением .pet). ====
Это самый распространенный тип пакетов в Puppy и PuppyRus, поддерживается практически всеми версиями дистрибутива.\\
В дистрибутивах проекта Puppy Linux (в т.ч. локализованных) PET является основным типом пакетов. Устаревшие дистрибутивы PuppyRus также собирались из PET-пакетов.\\
В современных версиях PuppyRus (начиная c версии 12.12) используется другой тип пакетов - PFS. Поддержка PET сохранена для обратной совместимости.\\ \\
==== Модули (аддоны) SquashFS (файлы с расширеним .sfs). ====
[[wr>SquashFS]] - это файл, содержащий внутри полноценную сжатую файловую систему (только для чтения).\\ \\
В дистрибутивах Puppy такие файлы используются для двух целей:
* Один или несколько файлов SFS содержат в себе корневую файловую систему дистрибутива (подробнее см. [[/setups/arc|Архитектура файловой системы Puppy Linux]]).
* В файлах SFS распространяются большие программы (или наборы программ), в них же обычно закладываются требуемые библиотеки.
Преимущества использования модулей SFS перед пакетами PET - в возможности горячего подключения и отключения их непосредственно в корневую файловую систему.\\ Работает это так: При подключении SFS-модуля файлы, содержащиеся в нём, "возникают" в корневой файловой системе в соответствующих каталогах (при этом файлы на самом деле не копируются, а читаются операционной системой непосредственно из SFS-модуля). При отключении SFS-модуля эти файлы исчезают из файловой системы.\\ \\
==== Пакеты типа PFS (файлы с расширением .pfs). ====
[[/puppyrus/pr218/pfs|PFS (Package sFS)]] - это новый тип пакетов, разработанный командой проекта PuppyRus в 2012 году.\\
Пакеты типа PFS соединяют в себе преимущества пакетов PET (хранение информации о пакете внутри) и модулей SFS (возможность подключения).\\
Другая особенность пакетов PFS - использование контейнеров. Файл с расширением **.pfs** является контейнером, который может содержать внутри один или несколько пакетов PFS. Контейнеры легко перепаковать (добавить или удалить необходимые пакеты, объединить или разделить контейнеры).\\
Контейнеры PFS можно подключать в корневую файловую систему (так же как SFS-модули).\\
PFS-пакеты также могут быть установлены в систему (так же как PET, или любые другие пакеты). При установке можно выбрать необходимые пакеты из контейнера, а подключать/отключать можно только весь контейнер сразу.\\
В операционной системе [[/puppyrus/start|PuppyRus]] PFS является стандартным форматом пакетов. Основные компоненты системы также хранятся в одном или нескольких файлах .pfs (контейнерах), которые автоматически подключаются при загрузке системы.\\
В дистрибутивах [[/puppy/start|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 в один (при необходимости их можно потом снова разделить).\\
//Оригинальный текст на форуме PuppyRus: [[http://forum.puppyrus.org/index.php/topic,14321.0.html]].//