Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
puppyrus:pr3 [2018/12/29 10:56] |
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// |