====== История дистрибутивов проекта PuppyRus после 2013 года ====== [[http://forum.puppyrus.org/index.php/topic,14534.0.html|Тема на форуме]] ===== Положение дел на август 2013 года==== В настоящее время команда разработчиков PuppyRus столкнулась с важными проблемами в дистрибутиве: * Недостаточное для компиляции и обновления своего репозитория количество разработчиков * Отсутствие своего пакетного менеджера с закачкой и контролем зависимостей. Невозможность использовать чужой из-за собственного формата пакетов .pfs Это создает трудности разработчикам при сборке дистрибутива и пользователям при установке софта. ===== Поиск решения ===== В [[http://forum.puppyrus.org/index.php/topic,14197.0.html|результате обсуждений]] на форуме, проверки существующих сторонних репозитoриев, проведенных тестовых сборок систем на базе различных [[http://forum.puppyrus.org/index.php/topic,12651.0.html|deb]], [[http://forum.puppyrus.org/index.php/topic,14199.0.html|rpm]] и и др. пакетов был выбран репозиторий [[https://www.archlinux.org/?setlang=ru|Arch linux]]. При работе над новым дистрибутивом ориентир будет взят на использовать лучшего из *Arch ([[https://wiki.archlinux.org/index.php/Pacman_(Русский)|pacman]]) *Puppy (cкрипты, модули) *их производных: PuppyRus ([[/puppyrus/pr218/pfs|pfs-utils]]) и AF ([[/users_os/af/af#варианты_сборки_базового_модуля|методика cборки]]). ====3 источника и 3 составные части==== -[[https://www.archlinux.org/|Arch Linux]]. *Общее: совместимые репозитории, [[wpru>systemd]], [[wpru>Pacman_(система_управления_пакетами)]] *Отличия: Свое ядро, initrd, [[setups/full-vs-frugal|frugal]], использование по умолчанию [[https://wiki.archlinux.org/index.php/ARM|ARM]] (т.е. не совсем [[wpru>rolling release]]) -[[http://puppylinux.org|Puppy]] *Общее: frugal, [[http://puppylinux.org/wikka/devx|DEVX]], некоторые утилиты *Отличия: initrd, софт модулями (не "все включено"), только русская версия, более свежий софт (из arch), свой [[soft/sfs-get|менеджер модулей]] -[[http://www.porteus.org/|Porteus]] *Общее: frugal, initrd, некоторые утилиты *Отличия: построен на пакетах slackware Остальное - собственные разработки : свои скрипты и программы, скомпиленные по [[http://mirror.yandex.ru/puppyrus/puppyrus-a/PKGBUILD/|своим рецептам]] ===== Преимущества использования репозитория Arch Linux ===== * Достаточно большой размер репозитария и современные версии программ * Если отдельные пакеты не устраивают размером или зависимостями можно перекомпилировать и использовать свой дополнительный репориторий вплоть до полного перехода на свой репозиторий, как в [[wp>Manjaro_Linux]] или [[wpru>ConnochaetOS]] * Упрощение сборки дистрибутива и установки софта. Возможно обновление дистрибутива силами одного разработчика за час * pacman не имеет единого файла (базы данных) списка установленных пакетов. Это позволяет удобно делить дистрибутив на модули * Существует графическая оболочка к pacman - [[http://almin-soft.fsay.net/index.php?pacmanxg|pacmanXG]]. Автор - [[http://forum.puppyrus.org/index.php?action=profile;u=5839|участник нашего форума]] * Наличие очень качественной [[https://wiki.archlinux.org/|wiki]] Arch Linux. Многие материалы уже переведены на русский язык ===== 3 уровня использования FRUGAL с ПМ (пакетным менеджером) ===== По квалификации пользователя -[[setups/full-vs-frugal|FRUGAL]]. [[soft/sfs-get|sfs-get]] подключение готовых модулей.pfs. Доступно каждому. Достаточно скопировать в /modules. В итоге каждый получает дистрибутив с тем софтом, который нравится ему -Работа с ПМ (пакетным менеджером) (в PRAR : [[https://wiki.archlinux.org/index.php/Pacman|pacman]]) - установка в сохраненку и создание модулей или FULL -[[https://aur.archlinux.org/|AUR]], [[https://wiki.archlinux.org/index.php/Arch_Build_System_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29|ABS]] ([[pra?&#%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F|компиляция собственных пакетов]]) [[http://forum.puppyrus.org/index.php/topic,16476.msg98227.html#msg98227|Подробности, обсуждение]] ===== Методика сборки PRA===== Непонятные термины и сокращения - в нашей и arch wiki ==== Цель ==== *маленький и быстрый модульный фругал для дома. *Оптимизирован для флэшек и copy2ram *В мин. конфигурации пригоден для устаревшего железа ==== Реализация ==== -porteus-initrd (русифицирован и допилен) - оптимален для модульного фругала. Приглядываюсь к uird -Компилим ядро по спец рецепту (определенные модули монолитно) - дает возможность не иметь в initrd модулей ядра. -Средствами pacman, в chroot , на базе замороженного (ARollbackM) среза Arch репы собираем минимальную базу с Х. Можно часть (все) пакетов перекомпилить и использовать свои. -[[http://mirror.yandex.ru/puppyrus/puppyrus-a/pra03/pkg/pra03-sub/|Удаляем зависимости]] mesa и т.п. - (перекомпиляцией cairo). Будут отдельным модулем -Скриптом trim удаляем маны и т.п. и отделяем dev часть. База пакетов (pkg) pacman /var/lib/pacman/local - разделяема. Каждый модуль у которого сохранена dev часть должен содержать свою часть pkg базы. Порезанные модули не имеют pkg информации и невидимы для ПМ. При использовании //pacman * --force// замещаются. Оптимально все портировать -Свои скрипты - отдельным модулем 070 - собираются pfsmerge. Можно бы сделать pkg и собирать pacman-ом, но pfsmerge проще === Остальной софт собирается методом: === *Везде оптимизируются зависимости. *Все [[http://wiki.puppyrus.org/setups/portable|портируется]] в /opt - чтобы либы не из среза арчрепы не сломали дистр в /lib . *Портирование дает возможность менять срез арчрепы без переделки модулей и использовать их в др. дистрах Из *pacman2pfs - из арч репы. *компиляция *перепаровка чужих пакетов с портированием и(или) использованием либ из арчрепы ==== В итоге получаем ==== *ПМ Совместимость с использованным срезом арчрепы при любой комбинации модулей *Независимость модулей софта друг от друга (если эти зависимости - только крупные типа qt mesa - не прописаны) *Совместимость с AUR ABS при подключении dev модуля Мы создали свой [[http://wiki.puppyrus.org/puppyrus/pra#%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_pra|1й уровень]]. На котором неподготовленному и (или) ленивому юзеру проще, чем юзеру full+ПМ. При этом 2,3 уровень не сломаны. Т.е. возможно все (если умеешь) Arch выбран не по политическим мотивам, а из-за ARM (морозить репу) и pacman (т.к. база пакетов без общих индексов) На 1м уровне проще : *Вместо установки и ПМ - копирование модулей *Решение почти всех проблем перезагрузкой без сохраненки На 2м уровне можно встроить в арч репу свою Заплатить за "маленький и быстрый " пришлось урезанием функционала ненужного домашнему юзеру Ну так для других применений PRA и не планировался По изложенной методе можно собирать дистр на любом доноре, но без заморозки репы и pacman будут проблемы с работоспособностью ПМ (раздувание сохраненки обновлениями репы). Можно решать регулярным обновлением базы ===== Март 2017 г. PRA Roll ===== *[[http://forum.puppyrus.org/index.php?topic=19750.0|Тема на форуме]] *Пришло понимание, что оптимизация размера и портирование актуально только для определенных приложений и ситуаций (запуск с флэшки и т.п.) *В итоге - прекращение поддержки PRA03middle, PRA03game, PRA64 и ... ==== PRA-roll с глобальными изменениями: ==== *[[http://forum.puppyrus.org/index.php?topic=20264.msg138153#msg138153|PRA-roll]] *Сборка дистрибутива полностью из пакетов. Т.е. опакечивание своих наработок и поддержание собственного репозитория пакетов. Как следствие - [[http://forum.puppyrus.org/index.php?topic=20264.msg138128#msg138128|упор на портированные модули теряет актуальность]] *Новый initrd rootaufs2 *Как следствие - возможность полноценной FULL установки, упрощение сборки ===== Декабрь 2018 г. PRA6408 ===== *[[http://forum.puppyrus.org/index.php?topic=21225.0|Тема на форуме]] *Иллюзии что в одном дистре можно полноценно совместить фругал и фулл прошли *PRA-Roll-1801 переименовываю в PRA6408 и позиционируется как фругал с длительной поддержкой. *PRA-Roll-1811 будет впервые заточен под фулл ===== Ноябрь 2019 г. LF01 ===== *Освоена сборка на репозитории debian : [[http://forum.puppyrus.org/index.php?board=184.0|DDR01]] i686 *[[http://forum.puppyrus.org/index.php?topic=22043.msg162863#msg162863|Двойная сборка]] LF01 = LFA1801 (переименован PRA6408) + LFD10 (Debian 10) x86_64. Портированные модули подходят к обоим дистрибутивам *[[http://forum.puppyrus.org/index.php?topic=22228.msg163154#msg163154|Планы на 2020г]] ===== Июль 2020 г. PRAR20.08 ===== *Теперь все портированные модули [[https://forum.puppyrus.org/index.php?topic=19901.msg171247#msg171247|опакечены]]. Таким образом удалось максимально приблизиться к решению задачи "в одном дистре можно полноценно совместить фругал и фулл" *3 initrd : rootaufs2, UIRD, pra-porteus. Первые 2 интегрированы в систему пересборки initrd Аrch ===== Апрель 2021 г. LFDS===== *[[https://forum.puppyrus.org/index.php?topic=23370.msg176730#msg176730|Модульный фругал на замороженном репозитории Debian Sid]] *Начало решения проблемы общего индекса apt /var/lib/dpkg/status. Скрипт dpkg-fix ===== Октябрь 2022 г. Вынужденная замена баннерной рекламы google -> yandex. Монетизация https://boosty.to/sfslinux===== *[[https://forum.puppyrus.org/index.php?topic=18488.msg184993#msg184993|Форум]] ===== Март 2023 г. LFU===== *[[https://forum.puppyrus.org/index.php?topic=24076.msg186242#msg186242|Модульный фругал на LTS репозитории Ubuntu]] *Продолжение решения проблемы общего индекса apt /var/lib/dpkg/status. Скрипт dpkg-fix, mk-dp ===== Заключение ===== PuppyRus остается дистрибутивом *максимально компактным *функциональным *модульным Добавляется совместимость с репозиториями больших linux и пакетный менеджер. //Текст подготовлен : sfs, Pro//