====== Пакеты и модули: 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]].//