Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

puppyrus:pr3 [2019/12/01 16:55]
puppyrus:pr3 [2023/04/27 13:30] (текущий)
sfs [Июль 2020 г. PRAR20.08]
Строка 1: Строка 1:
 +====== История дистрибутивов проекта 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//
Печать/экспорт