Сайт | Скачать | Видео | Wiki

Автор Тема: Поддержка Debian в pfs-util (dpkg-fix - пересборка базы apt)  (Прочитано 1267 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
При создании модульного фругала из клонов дебиана возникают специфичные проблемы
нормально получится только на арче, где у пакетов нет общих индексов (типа /var/lib/dpkg/status в дебиан)
Здесь мне удалось решить эти проблемы написанием скриптов dpkg-fix и mk-dpkg (над этим еще можно поработать)

Далее 2 варианта:
1. Интегрировать эти скрипты в pfs-util. Влючаются только, когда детектят дебиан
2. Как-то прикручивать их сбоку. Возможно, придется сделать какую-то вставку для дополнительных обработок. Т.е. вызов этих скриптов в определенном месте

Подобных решений по дебиану нигде не  видел. Везде модули пронумерованы , переставлять, выдергивать нельзя. Никаких манипуляций с  /var/lib/dpkg/status  нет. Что-то похожее видел в debian-dog , но недоразобрался. Может кто разобрался - пишите...
Как , кстати, с подобными проблемами в MagOs (Росе)?
« Последнее редактирование: 01 Август 2022, 10:18:13 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Поддержка Debian в pfs-util
« Ответ #1 : 09 Июнь 2021, 13:21:08 »
Как , кстати, с подобными проблемами в MagOs (Росе)?
После удаления модуля из базовых нужно запустить rpmdbreset с ключем --rebuild, который приведет базу в актуальное состояние. 
Работает так. В 88-magos.xzm лежат списки пакетов для каждого базового модуля. У rpm есть ключик для фейкового удаления, т.е. когда пакет удаляется из базы при этом удаления файлов принадлежащих пакету не происходит. Rpmdbreset  сверяет список подключенных модулей со списками пакетов для модулей в 88-magos.xzm и если список есть, а модуль не подключен все пакеты из списка фейково удаляются. Итог - база соответствует подключенным модулям.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Поддержка Debian в pfs-util
« Ответ #2 : 09 Июнь 2021, 15:32:33 »
У меня в lfds почти все модули собраны поверх 001. Т.е. при выдергивании модулей зависимости не сломаются. В магос так же организовано?
dpkg-fix можно запускать из графической подключалки и при старте системы
mk-dpkg легализует левые пакеты в системе
Написал этот пост , т.к. у меня есть составной модуль , в котором 2 модуля со status
Т.е. по хорошему, перед склейкой mkpfs надо сделать dpkg-fix (тут можно более упрощенно - просто слить 2 status в 1)
Понятно, что по правильному надо все пакетить и собирать в один модуль. Но под дебиан очень трудоемко пакетить. Пытаюсь обмануть

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Поддержка Debian в pfs-util
« Ответ #3 : 09 Июнь 2021, 17:10:07 »
В магос так же организовано?
Не 100% гарантия, так как в магос деление пакетов по модулям делается в полуручном режиме. В целом это работает, но на какой-то софтине может и сломаться. За десять с копейками лет разговор о том как сократить сборку для себя возникал лишь несколько раз, не так уж это и востребовано. Знаю что Михаил использует магос как сервер удаляя некоторые пакеты наверняка уж у него то все работает включая обновления.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Поддержка Debian в pfs-util
« Ответ #4 : 10 Июнь 2021, 09:33:45 »
В итоге будем заморачиваться дебианом внутри пфс или мне все снаружи сделать?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Поддержка Debian в pfs-util
« Ответ #5 : 10 Июнь 2021, 10:24:48 »
Надо подумать как аккуратно сделать. Просто напихать скриптов в общую кучу не правильно, я думаю. Может делать ПМ-специфические библиотеки с одинаковым набором функций, одинаковым названием но под разные ПМ. Держать их в отдельной папке и подкидывать нужную в скрипты при установке. Или общую либу с детектором ПМ. Как вы это видите?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Поддержка Debian в pfs-util
« Ответ #6 : 10 Июнь 2021, 11:14:36 »
есть составной модуль , в котором 2 модуля со status
Т.е. по хорошему, перед склейкой mkpfs надо сделать dpkg-fix (тут можно более упрощенно - просто слить 2 status в 1)
Если встраивать в пфс - такое в mkpfs (по условию наличия 2х и более status )организовать можно так:
В mkpfs после aufs объединения, перед mksquashfs вызвать отдельный скрипт, в который напихать особенностей разных дистрибов
Для дебиана получается по простому только cat `find ... status` >итоговый status
Но на самом деле - надо проверять повторы пакетов. В dpkg-fix это как раз и реализовано : получаем полный список пакетов в объединяемых модулях скриптом pfsdeb |sort -u и циклом добавляем в итоговый status

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Поддержка Debian в pfs-util
« Ответ #7 : 10 Июнь 2021, 13:21:13 »
Нормально.
Если дистр не определился скрипт ничего не делает. Так?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Поддержка Debian в pfs-util
« Ответ #8 : 10 Июнь 2021, 13:35:09 »
Да. Если status нет - ничего не делает. Так если и делает - только с этим же status
С другой стороны если есть 2 и более подмодулей со status - не проще ли пересобрать их в 1 по списку пакетов
Может не усложнять.... Лучше довести до ума с имеющимся функционалом

Можно что-то среднее. Вставить в mkpfs :
[ "`which mkpfs-user`" ] && mkpfs-user
А в mkpfs-use - юзер может дописать свои обработки типа тех, что я здесь предлагаю или какой-нибудь trim (вырезание манов и т.п.)


Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Поддержка Debian в pfs-util
« Ответ #9 : 10 Июнь 2021, 14:55:06 »
Тогда уж mkpfs --prepack ./myscript.sh

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Поддержка Debian в pfs-util
« Ответ #10 : 10 Июнь 2021, 15:17:15 »
Можно и так. будет универсально