Работает и в Росе и в Магее
Собственно это тот же rpmdrake2xzm, но только расширенный функционально
Вначале назвал rmdrake3xzm, но иногда путался. Вместо одного скрипта набирал другой
Надо установить в MagOS/base 90-pach.xzm - https://cloud.mail.ru/public/3cFy/2PPZKnbun
Это мой chrootdisk. Те запуск в chroot либо самой сборки или образа от LiveDVD
Интерактивно предлагается выбор root_br или changes
Запуск :
drake2xzm
Паковка root_br - это получится обновленный LiveDVD
Паковка changes - это запись изменений
Этим методом правил и обновлял образы LiveDVD от Магеи, Ubuntu
Выбор диска интерактивный. Если от root ничего не примонтировано, то к выбору предлагается катадог /memory/bundles
После запуска надо запустить допустим rpmdrake или для правки запускаю mc
Правка модуля !!!
Если в каталоге /memory/bundles выбрать какой нибудь модуль то модуль, то запустится в Dolphin и можно подкорректировать модуль и переписать его.
Если модуль с тенями (.wh.file) то это сложнее
В МагОС модули без теней и это проще
У меня сборка то же без теней, но запись модуля изменения системы ведется с тенями.
Т к удалил файл или выключил сервис в /memory/changes появляется тень и она должна попасть в модуль записи. Иначе удаленный файл или выключенный сервис так и останутся прежними.
Если модуль с тенями то удалять файлы или папки надо сервисом shred от МагОС
Сначала удаляется файл а потом тень
Если удалять штатной опцией удаления то удаляешь файл и появляется тень.
Удаляешь тень и появляется файл
Но опция shred от МагОС (/usr/share/kservices5/ServiceMenus) у меня появляется только в Dolphin. В других ФМ я так и не добился расширения функций работы сервис-меню для мыши
А как хорошо было бы добавить kservices5 добавить скажем в PcmanFM-qt от LXQt
Т к с Dolphin проблемы. В Росе в Dolphin, при запуске от root в среде обычного юзера, отсутствуют иконки. В Магее иконки появляются но сам Dolphin c root уже не дружит
В Магее 7 наметилась тенденция запрета работы Dolphin от root. Где то запускается но тут вроде еще не заблокировали.
Переключение c обычного модуля на модуль с тенями автоматически.
Но запустить правку модуля с тенями в монтируемом модуле можно и в ручную
drake2rpm --wh
Это запуск аналога rpmdrake2xzm
drake2xzm --rpmdrake
Но rpm-база сохраняется
По умолчанию сохраняется весь каталог /var/lib/rpm
Но можно сохранять только /var/lib/rpm/Packages, задав опцию в MagOS.ini
RPMDBCLEANE=“yes”
Связано с тем что в Росе, если сохранить только /var/lib/rpm/Packages, то rpm-база при запуске системы не раскрывается. Как то странно. В Магее хоть как сохраняй все работает
Модуль **91-update.xzm** это обновление последней сборки от МагОС
На работе сборка от МагОС не входила в wifi. На домашнем wifi все ок !
После установки обновления wifi на работе стал запускаться.
Модули - 92-xx.xzm, 93-XX.pfs, 94-XX.pfs
Это тестировал установку различных пакетов в последней сборке от МагОС
Т к в МагОС формаы модулей xzm, pfs то
MODULEFORMAT='*.xzm *.pfs ’
Что то путаюсь я с этими форматами. Разве нельзя какой то один использовать ?
Изменил синтаксис команды. Описание исправлено
Получилось вроде удобно. Уже обновил систему и как то даже просто.
У меня получилось два варианта запуска rpmdrake
drake2xzm --rpmdrake - Это запуск аналога rpmdrake2xzm
drake2xzm --chrootrpm - Запуск rpmdrake но в chroot
Оба варианта рабочие и даже не знаю что предпочесть.
Пока выбрал drake2xzm --chrootrpm . Вроде как он надежнее
Прогнал в lxqt mdialog --test и под юзером и под рутом и из текстовой консоли. Все нормально прошло, не пойму что не так у вас.
У chroot2pfs есть ключик -X, появился недавно и в магос я только сегодня эти изменения внес. Нужен ключик для запуска иксовых приложений. То есть то что вы здесь предлагаете, если я правильно понял, можно сделать так:
Только что собрал так модуль собновлениями и парой софтин.
Если будете пробовать нужно взять pfs-utils с гитхаба.
Не надо путаться, это одно и тоже для атомарных модулей, разница появится только когда вы модули склеиваете. И расширение pfs мы не используем, то есть и те и те модули - xzm. Более того склеенные модули тоже будут работать и с утилитами магос и с pfs-utils, вот только с pfs-utils их можно еще обратно разобрать. То есть например склеить все модули магос в один, а потом обратно расклеить.
З.Ы. Было бы лучше если бы мы с вами развивали одни утилиты, а не изобретали свое. Присоединяйтесь к разработке pfs-utils, они изначально сделаны с прицелом на универсальность и никак не привязаны к конкретному дистру или пакетному менеджеру. В команде которую я привел вместо rpmdrake можно запустить что угодно и результаты работы сохрянятся в модуль.
Пробовал разбираться но что то сложноваты они для меня и тяжело осваиваются.
Я как понял pfs-utils это работа с модулями. Хорошо бы в pfs-utils больше примеров в help
А можно ли в pfs-utils запустить, обновить и отредактировать образ от LiveDVD ?
А у меня пакетная сборка долго не работала и я делал сборку как раз на базе образа от штатной установки системы в минимальной конфигурации
И работа с образом от LiveDVD была основной. А то каждый раз делать образ на базе штатной установки было хлопотно.
И т к я обновления системы делал путем записи изменений при выключении системы, то попадало в модуль много лишнего.
И была проблема редактирования модулей. Надежнее распаковать модуль и запаковать
Но проще куда то смонтировать, отредактировать а потом запаковать.
Во всех дистрах, когда намечаются какие то изменения, то вроде делают тестовую версию
Если с тест-версией все ок, то тогда она становится основной.
В МагОС почему то все мирно уживается в одном реализе
Ну дак я просто перейду на pfs модули раз это лучше.
PS
За ссылку спасибо, но это уже завтра буду смотреть
Там всегда запускается зенити, кроме KDE. Если считаете что для lxqt правильнее kdialog то можно перенастроить. Я не уверен. Если был бы qtDialog то без вопросов
А так фиг знает.
А на detectDE переделать пожалуй правильно.
P.S. Нет. В магос нужно оставлять kdialog только для плазмы.
pfsfind kdialog
Find file in root aufs
N Module SubModule PATH
20 /memory/copy2ram/0/base/35-x-plasma.xzm is_not_contaner /usr/bin/
А зенити в модуле с иксами. То есть если удалить модуль с плазмой mdialog в lxqt будет работать с зенити, так пусть всегда так работает.
Последнее время lxqt вроде прогрессирует. Добавляются новые опции
Допустим в Магее пришли обновления и можно использовать KWaletManager
В центре настоек появился новый значок - “Эффекты окна”
И я в LXQt запускаю Dolphin и др приложения от Plasma
Конечно настройки LXQt по дефолту в этом случае надо менять
Даже Plasma почти и не запускаю
Но что то на форуме в Магее LXQt не хотят запускать. Им другие раб столы подавай
И в mdialog для LXQt вместо zenity нормально включается kdialog, если в скрипте применен только mdialog
У меня в скрипте остаось использования Xdialog и он видимо что то путал в настройках
Переделал я drake2xzm на работу в pfs.
Но форматы сделал
MODULEFORMAT=’*.pfs *.xzm ’
Но kdialog понимает эту переменную. А при запуске kdialog из mdialog проходит только * .pfs
И activate, deactivate, gactivate пришлось править.
Вот всем хорош rpmdrake2xzm и я уже обновляю систему, запуская его из drake2xzm
Но модули надо писать последовательно.
Потом через pfs можно эти модули объединить
А ведь хорошо было бы если rpmdrake2xzm сразу бы все писал в один модуль
Если модуль стал слишком большой, то выбираешь другой.
Это можно сделать и не так сложно а нельзя ли для этого использовать сервисы pfs ?
Это вам зачем?
Расширение pfs вообще не нужно. Везде xzm.
Оставьте pfs паппирусам )
Для обновлений можно попробовать использовать sync2layer, pfsrebuild или syschanges . Еще можно chroot2pfs, ему можно передать не только команду, но и скрипт и собирать он будет относительно тех модулей которые вы ему подсунете для базы чрута. То есть если делаете модуль с обновлениями, а в качестве базы у вас исо магеи, то в модуль попадут все обновления, а если в качестве базы исо плюс предыдущие обновления, то будет модуль только с новейшими обновами. Модули для чрута можно задать по маске, списком или списком из файла.
В сборке магос pfs-utils из ветки v4, обновляю раз в пару-тройку месяцев. То есть если отстает то на пару месяцев. В следующей сборке будут свежие.
По остальному вообще не понял. Что вы там включаете в pfs? Это библиотека функций для остальных скриптов.
Что бы в сохраняемом образе в mkpfs тени сохранились надо их сначала смонтировать с тенями в aufs. Вот я в pfs и добавил монтирование теней. А так mkpfs тени игнорирует.
Сама сборка у меня без теней а сис-изменения пишутся с тенями.
Допустим надо удалить включенный сервис из системы удаляешь и в /memory/changes появляется тень и ее то и надо сохранить. Конечно правильнее выключать сервис при старте системы через MagOS.ini Но ведь это еще надо донести тем кто захочет попробовать сборку. А с сохранением теней получается максимальное соответствие с тем же drakconf из Магеи у меня.
Почистить систему то же нет проблем. Удаляешь все что нужно и выключаешься.
Вроде понял о чем вы. Просто видимо никому в голову не приходило то, что при сборке модуля в источниках уже могут быть тени
Предлагаю написать в форум паппирус, будет ваш первый вклад в общее дело Да и вообще надо бы прикинуть не сломает ли чего нибудь.
Тут еще момент в том, что с ключем -l тени не будут учтены, но сами файлы теней в модуль попадут, то есть с -l и без итоговый модуль будет отличаться, это не хорошо.
Ильфат уже начал тему про тени - http://forum.puppyrus.org/index.php?topic=21253.0
И вроде что то уже решено.
При монтировании системы корень root без теней
Все изменения пишутся в /memory/changes. И это уже каталог с тенями
Если при записи /memory/changes тени не учитывать то часть инфы о системе теряется
А именно что удалено.
Поэтому у меня модули сборки без теней а модули сис-изменения с тенями
Это позволило обычный МагОС приблизить к обычной штатной системе
Работаешь как в обычно и можно использовать те же инструменты
Конечно в теории это красиво но вроде неудобств в своей сборке я не испытываю
В Drake2xzm (за основу взят rpmdrake2xzm) выполняет задачи
установка пакетов, обновлений в модуль - rpmdrake2xzm
Монтирование образа от LiveDVD для обновления и правки
Можно модульную сборку сделать в виде одного образа
Правка установленных модулей. И тут то и вылазит модуль с тенями
Вообще то я установленные модули монтирую в /memory/tmp/root_br и здесь появляется необходимость монтирования root_br но с тенями. Но может смонтировать его в
/memory/tmp/changes и обойтись без нештатной работы root_br ?
Попробовать надо еще раз
А у меня что то не то получилось. Я в drake2xzm заменил dir2xzm на mkpfs
И drake2xzm уже сформировал свои root_br(уже с тенями) и changes.
Но mkpfs уже готовый root_br видимо куда то смонтировал опять и получился модуль уже без теней
Получается неправильно я использовал mkpfs
mkpfs для сборки модуля создает свою ауфс, это нужно для сборки модуля из нескольких источников. Для склейки, проще говоря. Кстати, именно в это место вы и внесли звои правки в pfs Кроме mkpfs этот код используют и другие утилиты. Чтобы отключить такое поведение и просто запаковать папку как делает dir2xzm есть ключик -l для mkpfs. Для сохранения теней -w. То есть mkpfs -l -w папка. Попробуйте.
То что начал Ильфат по теме теней должно работать, с ключами только разберитесь. Я думал ваша проблема в том, что при сборке ауфс для mkpfs и прочих pfs утилит не учитываются тени. А Ильфат писал о том, что тени в итоговый модуль не попадают.