Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Разработка PFS и Initrd => Тема начата: ingvaro от 12 Август 2021, 16:37:59

Название: Overlay для mkpfs
Отправлено: ingvaro от 12 Август 2021, 16:37:59
                                     Overlay для PFS-утилит
       Тестовый вариант. Предназнчен только для тестирования.
Скачать   090-PFS-OVL -  https://cloud.mail.ru/public/pSSC/QWnvMjqP4

Каталог сборки образа для mkpfs и chroot2ps  -  /memory/WORKFS

Изменения минимальны:
 -    pfs
   Работает в AUFS и Overlay
 -    aufs-n
   AUFS тут работает по своей логике. Overlay по своей.
-      mkpfs
   Работает в AUFS и Overlay. Режим сохранения с тенями в Overlay делает mhddfs
   Времени не было и ничего другого не придумал.
-     chroot2pfs
   Работает в AUFS и Overlay. Режим сохранения с тенями в Overlay делает mhddfs
   Добавил опцию -db (debug)
   Перед финальной паковкой модуля работа прерывается и появляется chroot-терминал (Konsole или QTerminal)
   Тут можно проверить работу образа или обновить его. Уже обновил свою систему.
   Но при проверке на prar21.10-x86_64-04  выяснилось что терминал не стартует.
   Пока закоментировал стр 247.
   Но проверил не все функции..  Режим сохранения с тенями  в Overlay делает mhddfs
-   pfsextract
    Режим extract_simple работает в AUFS и Overlay.
    Не работает у меня режим extract_contaner
    Это когда объединяешь два модуля то включается  extract_contaner
    И получается модуль в котором два модуля.   И при распаковке опять же два модуля получается.
    Пока заблокировал его (стр 215)
-   syschanges   Мелкие правки.
-   pfsload      - Монтировал сразу  два модуля. Все ок. Монтируется
-   pfsunload - Работает но отмонтирует модуль только один. Смонтировал два модуля и пришлось их поочередно отмонтировать. Это так и было ранее ?
-   pfsfind      -  Работает. Хорошая прога. Находит файлы в модулях. Заработала без правок.

Но надо установить пакет mhddfs.  В Ubuntu она присутствует в репах.
В Overlay нельзя корректно объединить старый модуль сохранения системных изменений и новый. Ну соединить то можно но  все нужные тени будут удалены.
Но с этой задачей справляется утилита mhddfs.. Подробнее - (https://forum.mageia.org.ru/viewtopic.php?pid=35442#p35442)
   
Работа в Overlay и AUFS в mkpfs и chroot2pfs

1) mk_unionfs подготавливает нужные папки в /memory/WORKFS/$N
2) addlayer монтирует нужные слои  в /memory/WORKFS/$N/bundles$N
    И готовит список монтируемых соев - /tmp/LAYERUNION
3) mount_unionfs монтирует Overlay или AUFS в /memory/WORKFS/$N
 Если это будет 100 слоев то и в Overlay или в  AUFS все смонтируется за один раз

Где  $N - номер сборки образа
  Так работает Overlay и горячего подключения в нем нет.
Разработчики Overlay горячее подключение не включили в систему. А нужен ли он в AUFS ?
Попробовал и похоже удачно. AUFS работает !

               Как я понимаю горячее подключение.
-  подготавливаются нужные папки в /memory/WORKFS/$N и стартует пустой AUFS
-  addlayer находит и монтирует  слой за слоем в ~/bundles$N
    И  добавляет слой за слоем в  запущенный пустой AUFS командой mount -o remount
    Если будет допустим 100 слоев то это 100 перемонтирований образа
    Но конечно решать можно что применить только после тестирования.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 13 Август 2021, 09:08:19
Обновление образа Lubuntu в mkpfs с опцией -db (debug)
По замыслу mkpfs был только для объединения модулей. Для обновления дистра и т.п. https://wiki.puppyrus.org/puppyrus/pr218/pfs4#chroot2pfs. Чем (кроме overlayfs) ваш вариант mkpfs лучше?
Вот бы в chroot2pfs тоже overlayfs...
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 13 Август 2021, 16:11:44
Чем (кроме overlayfs) ваш вариант mkpfs лучше?

Мой mkpfs это всего лишь тестовый вариант. Есть 2 проблемы которые надо решать.
1) Переменные n и nn задал в mk_unionfs (pfs) а в mkpfs их закоментировал
    Получилось даже проще
2) Стр 46,47,Стр 46,47,161 и 295,298,299,300 в pfs закоментировал а ср 161 это блокировка  от отсутствия AUFS или Overlay в ядре.
     Ну нет  в Overlay  файла - /sys/fs/overlay/si_
     Есть, общий для AUFS или Overlay, файл   proc/filesystems
     Вроде им и можно заменить отсутствующий файл /sys/fs/overlay/si_
 
С AUFS получилось 4 варианта монтирования. Ну это я собрал  монтирование в TOXZM и аше горячее монтирование.
Оба варианта рабочие а выбирать какой будет действовать по умолчанию можно теперь опцией -mt (mount_r=yes)
mount_r=yes  -  горячее монтирование
mount_r=no    -  монтирование как в  TOXZM
Управлять можно в  /etc/pfs.cfg
 
Как появилась  опция -db (debug)

При отладке варианров монтирования в Overlay. Если запустить некорректно Overlay раз 10 то система зависала
Например AUFS зависала с первого или второго раза.
Приходилось перезагружаться. А с опцией -db (debug) зависаний системы почти не было,
Если что не так выключил конечную паковку образа и все.

Вот бы в chroot2pfs тоже overlayfs...

Мой chroоt2xzm он просто устарел, т к 2/3 его работы заменил запуск образа Lubuntu в mkpfs  с опцией -db (debug)
Если получится комфортная загрузка обновления образа Lubuntu в mkpfs  с опцией -db (debug) то тогда и решать
Ну а из терминала юзеры вероятно не захотят запускать
Конечно мой chroоt2xzm у меня совсем прстенький и сравнивать его с chroot2pfs некорректно
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 01 Сентябрь 2021, 18:40:33
PFS-OVL.pfs - https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662
Изменения

1) Модули обновляются в aufs и overlay

2) pfsextract распаковывают любые модули. Изменения в стр 42, 62, 215, 216, 219
     А не только pfs-модули

3)
Стр 46,47,161 и 295,298,299,300 в pfs закоментировал а ср 161 это блокировка  от отсутствия AUFS или Overlay в ядре.
     Ну нет  в Overlay  файла - /sys/fs/overlay/si_

Исправил  изменения в стр 47, 49, 163 в pfs

4)  Изменены сервисы в pfs

mkaufs   переименован    mk_unionfs
delaufs    переименован   del_unionfs

5)  Запускал lfds2104 со своим магос-модулем и загрузчик UIRD
И как то странно.
Сервисы от МагОС работают с pfs из /usr/lib/magos/scripts
Обновление модулей  работают с pfs из /usr/local/bin
Хотя запускал систему от root и в /root/.bashrc есть запись
Код
PATH=/usr/lib/magos/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Т е сервисы из /usr/lib/magos/scripts  загружаются первые
Пришлось изменения писать в /usr/lib/magos/scripts  и  /usr/local/bin

6) chroot2pfs подготовил но не проверял еще разбираться надо.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 03 Сентябрь 2021, 09:15:55
сервисы из /usr/lib/magos/scripts  загружаются первые
В чем странность, есть они первые в PATH ?
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 03 Сентябрь 2021, 10:45:53
Обновление модулей  работают с pfs из /usr/local/bin
Но сервисы из /usr/lib/magos/scripts  загружаются первые
И обновление модулей  должно бы работать с pfs из /usr/lib/magos/scripts

PS
chroot2pfs пока не работает
Опять строка /sys/fs/overlay/si_  из aufs-n
Название: Re: Overlay для mkpfs
Отправлено: sfs от 03 Сентябрь 2021, 11:34:26
Мое обновление модулей стыкуется с остальными pfs util только вызовом подключалки модулей. Т.е. если модифицированная подключалка работает - все вместе тоже должно работать
сервисы из /usr/lib/magos/scripts 
Что там за сервисы и скрипты? Модифицированный , ваш, pfs util ?
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 03 Сентябрь 2021, 13:52:25
Это PFS-утилиты от betcher для МагОС.  Изменения с вашими минимальны.
Это мелочи. Вот chroot2pfs у меня не работает. Ни в aufs ни в overlay. C родными pfs все ок.
Что то с mkpfs получилось.
Но  chroot2pfs и  mkpfs похожи  но имеют отличия
Вероятно  монтирование в chroot2pfs  можно сделать через mkpfs
Название: Re: Overlay для mkpfs
Отправлено: betcher от 03 Сентябрь 2021, 14:15:53
Это PFS-утилиты от betcher для МагОС.
PFS-utils, они не мои. Они местные ))
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Сентябрь 2021, 16:47:15
PFS-OVL.pfs - https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662
Изменения

1)Работает chroot2pfs в Overlay  и AUFS
Стр 71 закоментировал.
Исключил aufs-n и перевел поиск примонтированных модулей в /proc/mounts (стр 76 в chroot2pfs и стр 300 в pfs)
Это даже более корректно, т к из /sys/fs/aufs/si_ у меня монтировалась папка /memory/changes
Но /memory/changes не является системным модулем  ???
Список модулей по аналогии с mkpfs изменил на  sourcelist (был  layers)

2)  Работают опции -mt и -db
    Это по аналогии с mkpfs

Тестирование делал запуском chroot2pfs в root-терминале
Код
chroot2pfs 
Буду рад за помощь в тестировании.

PFS-utils, они не мои. Они местные ))
Одно или два отличия я нашел в магос-варианте.
Ну значит у вас самая свежая версия
Название: Re: Overlay для mkpfs
Отправлено: sfs от 06 Сентябрь 2021, 09:39:32
PFS-OVL.pfs - https://cloud.mail.ru/public/yAGs/uShczCfGZ
Хотел попробовать в прар - не находит конфигов . Что там должно быть и как указать чтобы использовался ofs?
самая свежая версия
В свежей я выявил проблему (https://forum.puppyrus.org/index.php?topic=23517.0) и откатился.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 07 Сентябрь 2021, 16:26:56
Хотел попробовать в прар - не находит конфигов . Что там должно быть и как указать чтобы использовался ofs?

Были проблемы с AUFS в pfs. Переделал именно в AUFS и теперь должно все работать

PFS-OVL.pfs - https://cloud.mail.ru/public/yAGs/uShczCfGZ

Изменения

1)  Перевел опцию -db на zenity. Получилось даже более элегантно и zenity присутствует в lfds2104

2)  Изменил опцию -s  на -sl (select=on)
     Перевел опцию -sl на zenity.

PS
zenity  в lfds2104 работает с ошибкой и его надо переустановить
Название: Re: Overlay для mkpfs
Отправлено: betcher от 07 Сентябрь 2021, 19:13:32
Pfs-utils исключительно консольные скрипты. Вы можете предусмотреть то что скрипт может быть использован с гуи оберткой и сделать для этого специальный выхлоп или дополнительные ключи, но пихать zenity прямо в код не нужно это не феншуй ))
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 08 Сентябрь 2021, 06:36:40
Это верно для Xdialog, которая активно используется в МагОС
Задавал так
Код
MSG="Packing the module :\\n Yes\\n No"
echo $LANG | grep -qi ^ru_ && MSG="Паковать  модуль :\\n Да\\n Нет"
[ "$debug" = "on" ] && Xdialog --yesno "$MSG"  10 35
Действительно сложновато ...........
Ну а  zenity в опции debug вопрос задается одной строкой
Код
[ "$debug" = "on" ] && zenity --question
Появляется окно вопроса - "Уверены, что хотите продолжить?"
Причем zenity   поддерживает русский и английский и вопрос выводится в действующей локали.
Что же здесь не так ?
Вполне можно допустить использование в консольных утилитах

PS

Ну а консольный вариант вопроса.
Код
echo " Press Enter to continue, or Ctrl+C to abort..."
read junk
Тут надо добавить русский вариант вопроса. Не все знают английский и что же им со словарем что ли  запускать эту консоль ?
А если юзеру понадобится какой то другой язык ?
Консольный вариант вопроса будет намного  сложнее
Название: Re: Overlay для mkpfs
Отправлено: sfs от 08 Сентябрь 2021, 08:33:01
Pfs-utils исключительно консольные скрипты
Изначально договорились об этом. Лучше бы не нарушать. Это реально удобно. Функционал отдельно и в простых скриптах. Разрабатывается совместно. Легко проверить. Гуй  к консольным утилитам можно лепить разными средствами. Кто на чем умеет.
У меня так и сделано. Гуй на gtkdialog (сложнее , но функциональнее) и yad (полуклон zenity). Самого zenity в моих дистрах обычно нет. Может быть ссылка на yad (он частично совместим)
Для упрощения написания гуя - моя надстройка : ntf (https://forum.puppyrus.org/index.php/topic,11768.0.html)
добавить русский вариант вопроса
https://wiki.puppyrus.org/programming/intern
Название: Re: Overlay для mkpfs
Отправлено: betcher от 08 Сентябрь 2021, 09:02:52
Это верно для Xdialog, которая активно используется в МагОС
Задавал так
В магос в основном mdialog - враппер для zenity/kdilog зависимо от текущей среды. Но в pfs-utils этого нет.
Вполне можно допустить использование в консольных утилитах
Можно, но не в скриптах, а в обертках к ним. Даже в магос и в местных сборках эти обертки будут разные, что говорить о других возможных пользователях.
А если юзеру понадобится какой то другой язык ?
gettext. Но это надо все скрипты перелопатить, если будет время и настроение можно и сделать.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 08 Сентябрь 2021, 09:05:39
все скрипты перелопатить,
Лучше консольные не усложнять. А интернационализвцию - в гуй
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 08 Сентябрь 2021, 09:43:56
Для ознакомления easybashgui (https://github.com/BashGui/easybashgui). Давно нашел, решил выложить. Его преимущество - гуи, написанный с командами easybashgui, будет работать с любыми установленными в системе библиотеками, типа yad, gtkdialog, kdialog, zenity, Xdialog, dialog...

AUR (https://aur.archlinux.org/packages/easybashgui-git/)
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 08 Сентябрь 2021, 14:59:49
Самого zenity в моих дистрах обычно нет.

Да это я установил zenity  в lfds2104

Гуй на gtkdialog (сложнее , но функциональнее)

Вероятно gtkdialog это версия dialog для gtk
Окна в  dialog мне не нравятся. Ну и gtkdialog  наверно не лучше.
Примеров работы для gtkdialog в инете  особо нет. Поэтому как осваивать ?
Лучше всех окна в kdialog. Современные и красивые. Но это плазма.


Гуй  к консольным утилитам можно лепить разными средствами.
Гуй для  утилиты /usr/lib/magos/scripts/syschanges от МагОС я  так и сделал
Но она приспособлена для этих задач, т к  запускается в терминале нужной папки. Гуй просто выбирает папку и запускает syschanges.
В pfs все задается жестко и функциональность намного сложнее.
Допустим опция -sl (select) в chroot2pfs нормально у меня не заработала. Диалог выбора директории сборки почему то запускается два раза

Изначально договорились об этом. Лучше бы не нарушать.

Проще эти опции удалить. На нет и суда нет. И как сделать Гуй к pfs я не знаю
Опция -db (debag) удобна при отладке но сейчас вроде все работает.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 08 Сентябрь 2021, 17:03:09
gtkdialog это версия dialog для gtk
Нет.
Примеров работы для gtkdialog в инете  особо нет.
Gtkdialog Examples (http://xpt.sourceforge.net/techdocs/language/gtkdialog/gtkde02-GtkdialogExamples/single/)
И как сделать Гуй к pfs я не знаю
А оно надо?
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 08 Сентябрь 2021, 18:27:36
Проще эти опции удалить. На нет и суда нет.

Ну все перезалил. Проблема решена.
PFS-OVL.pfs - https://cloud.mail.ru/public/yAGs/uShczCfGZ
Вариант без опций -db и -sl

    И как сделать Гуй к pfs я не знаю
А оно надо?

Вот именно.
Кому надо тот пусть и делает Гуй да еще на gtkdialog.
В своей сборке я пользуюсь Xdialog
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 09 Сентябрь 2021, 07:12:24
1)
    Вполне можно допустить использование в консольных утилитах

Можно, но не в скриптах, а в обертках к ним. Даже в магос и в местных сборках эти обертки будут разные, что говорить о других возможных пользователях.

Вот п/прога  mksqmod из pfs в моей сборке

Код
mksqmod(){
#make module
[ "$debug" = "on" ] && zenity --question
if [ "$?" = 0 ] || [ "$debug" != "on" ]; then
excludes="-ef /memory/layer-base/0/toxzm/filtres/pfs-filtr"
[ -f '/tmp/mkpfs_excludes' ] && excludes="-ef /tmp/mkpfs_excludes"
[ -f "${2}" ] && mv -f "${2}" "${2}.bak"
eval mksquashfs "${1}" "${2}" ${compression} ${excludes} -noappend ${noprogress} ${useproc} -wildcards $wh $devnull
exitmsg "error create squashfs module" $? $3
fi
rm /tmp/mkpfs_excludes 2>/dev/null
return 0
}

Переменную debug устанавливается например в mkpfs
Код
     "-db" | "-DB" ) debug="on";;    

Ну и каким Гуем или внешней оберткой мне  заменить строку
Код
[ "$debug" = "on" ] && zenity --question
Хотя бы схематично


2)
Гуй на gtkdialog (сложнее , но функциональнее) и yad (полуклон zenity)

Смотрел и получилось что yad сделан на базе zenity, но команда
Код
zenity --question
Работает по другому. И текст вопроса надо дописывать
На zenity большая функциональность.

Появляется окно вопроса - "Уверены, что хотите продолжить?"
Причем zenity   поддерживает русский и английский и вопрос выводится в действующей локали.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 09 Сентябрь 2021, 09:25:53
как сделать Гуй к pfs я не знаю
А оно надо?
Если дистр с Xorg или wayland - надо
Кому надо тот пусть и делает Гуй да еще на gtkdialog.
Да. Я так и сделал. pfs-util отдельным пакетом. Гуй отдельным.
каким Гуем или внешней оберткой мне  заменить строку
В консольных скриптах все задается ключами
Если в середине операции необходим диалог с юзером - делите скрипт на 2. В середину вставляете гуй с вопросами и запускаете вторую часть скрипта уже с ответами, трансформированными в ключи
текст вопроса надо дописывать
Посмотрите мой ntf - там почти все что нужно для диалогов есть
Название: Re: Overlay для mkpfs
Отправлено: sfs от 09 Сентябрь 2021, 09:30:13
zenity   поддерживает русский и английский и вопрос выводится в действующей локали
yad тоже - да-нет на русском
На скрине
Код
ntf -q Ваш вопрос
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 09 Сентябрь 2021, 22:21:29
В консольных скриптах все задается ключами
Если в середине операции необходим диалог с юзером - делите скрипт на 2. В середину вставляете гуй с вопросами и запускаете вторую часть скрипта уже с ответами, трансформированными в ключи

Ну вот злосчастная п/прога
Код
mksqmod(){
#make module
[ "$debug" = "on" ] && zenity --question
if [ "$?" = 0 ] || [ "$debug" != "on" ]; then
excludes="-ef /memory/layer-base/0/toxzm/filtres/pfs-filtr"
[ -f '/tmp/mkpfs_excludes' ] && excludes="-ef /tmp/mkpfs_excludes"
[ -f "${2}" ] && mv -f "${2}" "${2}.bak"
eval mksquashfs "${1}" "${2}" ${compression} ${excludes} -noappend ${noprogress} ${useproc} -wildcards $wh $devnull
exitmsg "error create squashfs module" $? $3
fi
rm /tmp/mkpfs_excludes 2>/dev/null
return 0
}

Ну и какой гуй мне всовывать ? Ссылку что ли на другой скрипт, где будет одна строка
Код
[ "$debug" = "on" ] && zenity --question
Ну и какая разница ?

Погуглил я эту тему. Программы типа dialog, Xdialog,gtkdialog и т д - это псевдографика а не GUI
Что пишет вики - https://ru.wikipedia.org/wiki/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0

Цитата
Основное назначение псевдографики — графическое оформление программ с текстовым интерфейсом пользователя (в том числе и так называемых консольных) — отображение в них окон, меню, кнопок и прочих элементов интерфейса, создания рамок и таблиц. Первоначальная цель применения — изображение рамок и таблиц на текстовых терминалах.
Таким образом псевдографику вполне можно применять в скриптах. Что я уже применил в своих скриптах в моей сборке.
В частности заменил текстовый вариант вопроса
Код
echo "Вы уверены ? Press Enter to continue, or Ctrl+C to abort..."
read junk
на
Код
zenity --question
[ "$?" = 1 ] && exit 1
Резудьтат очень хороший. Унылая консоль как бы оживает.

PS
Чувствуется ваша занятость другими проблемами. Но и у меня их то же хватает.
Поэтому давайте прекратим дискурсию.
Не интерисуют вас эти опции и это ваше право принимать или нет.
Просто надо прямо сказать что это неприемлимо.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 10 Сентябрь 2021, 09:07:07
Чувствуется ваша занятость другими проблемами.
Так и есть, уж извините. Более того у меня есть скрипты а-ля pfs-utils работающие с aufs и overlay, но сделаны по работе и открыть их могут только те кто эту работу оплатил.
Ну и какой гуй мне всовывать ? Ссылку что ли на другой скрипт, где будет одна строка
Например так. Пишете в начало либы pfs, до того как импортируется конфиг
READ="read -p"

Там где нужен вопрос пишете:
ans=$($READ "please enter value")

А кому нужен нужен гуй, пишут в /etc/pfs.cfg
READ="kdialog --inputbox"

Аналогично можно сделать READ_YES_NO= или MSG=echo


Название: Re: Overlay для mkpfs
Отправлено: sfs от 10 Сентябрь 2021, 09:34:35
сделаны по работе и открыть их могут только те кто эту работу оплатил
Т.е. работодатель наложил какую-то хитрую лицензию или все держится на Вашей порядочности?
Не интерисуют вас эти опции и это ваше право принимать или нет.
Любое развитие проекта интересует. Но про pfs-util изначально договорились :
1. Только консоль
2. sh (т.е. без bash-измов). Желательна работа на голом busybox
Дальше - как в любом СПО :
a. Принимаете правила и развиваете проект в этих рамках . Соответственно будет больше тестеров и т.п.
б. Форкаете и делаете что хотите. Сами привлекаете разрабов и тестеров
Пока у Вас больше тянет на форк. Выбирать Вам. Какие-то притеснения за неприсоединение у нас не предусмотрены.

Лично меня в настоящее время overlayfs не сильно интересует. Т.к. aufs жив, хоть и не популярен и я освоил компиляцию ядер с ним. Без горячего подключения от ofs пользы вижу две:
1. В инитрд. В основном для фул. Для заморозки. Это есть и в uird и у меня в rootofs
2. chroot2pfs - чтобы можно было юзать с любыми ядрами. ofs есть везде. Готов поучаствовать в тестах при условии совместимости с имеющимися pfs-util
Кстати - есть  https://packages.debian.org/bullseye/unionfs-fuse - пример в LFDS apt2sfs
и https://packages.debian.org/bullseye/mergerfs - т.е. возможно будет проще chroot2pfs на них переделать. Они, если я правильно понял не ядерные
Название: Re: Overlay для mkpfs
Отправлено: betcher от 10 Сентябрь 2021, 10:01:21
Т.е. работодатель наложил какую-то хитрую лицензию или все держится на Вашей порядочности?
Нужен был оверлей, предложил два варианта допилить pfs-utils либо написать свое. По трудозатратам приблизительно одинаково. Сказали делать по максимуму свое. Pfsget почти полностью из pfsutils, остальные скрипты почти с нуля, хотя может местами и заимствовано. Ничего сверх интересного там нет, аналогов многих скриптов совсем нет. Из интересного,  переделан принцип запуска. У всех скриптов общий запускающий скрипт и только он находится в PATH. Получается типа как у гит, то есть вместо mkpfs было бы pfs make  и так далее. Позволяет давать более простые названия не боясь  пересечения с утилитами линукс и легко найти нужную команду запустив pfs без параметров (у меня не pfs называется, это для аналогии).
 
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Сентябрь 2021, 11:52:05
Более того у меня есть скрипты а-ля pfs-utils работающие с aufs и overlay, но сделаны по работе и открыть их могут только те кто эту работу оплатил.

У меня уже свой вариант и даже работает
Единственно непонятно с UIRD
Получается в overlay в системе есть /memory/changes и /memory/ovl/changes
И обе changes вроде одно и то же. А что нельзя оставить только /memory/ovl/changes для overlay ?

редложил два варианта допилить pfs-utils либо написать свое. По трудозатратам приблизительно одинаково. Сказали делать по максимуму свое

Трудозатраты на свое вероятно были бы меньше
Название: Re: Overlay для mkpfs
Отправлено: betcher от 10 Сентябрь 2021, 12:04:02
Получается в overlay в системе есть /memory/changes и /memory/ovl/changes
Сделано для того чтобы /memory/changes был и с оверлеем и с ауфс. То есть /memory/ovl нужен чтоб с оверлеем было максимально токже как с ауфс.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Сентябрь 2021, 12:40:34
Принимаете правила и развиваете проект в этих рамках . Соответственно будет больше тестеров и т.п.
Принял правила и выложил вариант без злосчастных опций и нет ни отзывов и форка там никакого нет и  никто не тестирует.
У себя естественно я буду их применять т к без опциии -db (debug) трудно что то отладить.
Wiki дорускает применение псевдографических утилит, например zenity,  в консольных приложениях
PFS ваша разработка и вы конечно вправе устанавливать любые ограничения.
Но смысла нахождения здесь я как то не нахожу

Т.к. aufs жив, хоть и не популярен и я освоил компиляцию ядер с ним. Без горячего подключения от ofs пользы вижу две:

Ну горячее подключение в overlay я сделал но без теней. Это опция -mt (re_mount)
Уже неоднократно об этом писал

Лично меня в настоящее время overlayfs не сильно интересует.

Значит нам не по пути.
В моем варианте эмулируется независимый от системы overlay и сбой в нем это сбой локального overlay
В aufs, при запуске например mkpfs, используется системная aufs, со всеми вытекающими последствиями. Тут сбой это  сбой системы и зависание самой системы.
AUFS это уже прошлое
Overlay более надежен в работе. Писал уже об этом.
Я же наоборот. Что бы сократить лишнее тестирование при сборке дистра  планирую  AUFS убрать из системы.
Времени на тестирование уходит много а проект бесплатен.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 12:48:56
нет ни отзывов и никто не тестирует
Желательно бы готовый модуль, чтобы я мог положить его в lfds21.04-21.06-x86_64.iso или prar21.03-21.07-x86_64.iso, пересобрать iso и проверить в вирте, запуская с uird.union=overlay.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Сентябрь 2021, 13:50:32
PFS-OVL.pfs - https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662
Это как раз модульный вариант.
Устанавливается после модуля с pfs утилитами и лучше использовать lfds21.04-21.06-x86_64.iso
Т к тестировал я на lfds21.04-21.06-x86_64.iso  и это единственная сборка, которую мне удалось запустить в своей сборке
Используемый загрузчик UIRD   с опцией uird.union=overlay.
 
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 10 Сентябрь 2021, 14:21:54
AUFS это уже прошлое
Как вы, прогрессивисты, любите хоронить прошлое. А ведь прошлое часто намного лучше настоящего.
Overlay более надежен в работе.
Я здесь первым пробовал переходить на overlayfs, отказался, ибо жалкое подобие.
Извините за резкость, но достала уже эта гонка в никуда.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 17:31:08
PFS-OVL.pfs
https://iscr.ru/images/2021/09/10/screenshot_2021-09-10-171519.png


p.s. Пришлось выложить скрин на стороннем хостинге. У нас на форуме так втискиваешь картинку в 100 kb, что потом и не разглядеть там ничего. :)
Название: Re: Overlay для mkpfs
Отправлено: betcher от 10 Сентябрь 2021, 17:45:31
https://iscr.ru/images/2021/09/10/screenshot_2021-09-10-171519.png
FORCE=yes, TIMEOUT=3, да Вы прошаренный юзер уирда )))
Вот вам еще:
https://forum.magos-linux.ru/t/novyj-podparametr-init/179
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Сентябрь 2021, 17:55:57
Как вы, прогрессивисты, любите хоронить прошлое. А ведь прошлое часто намного лучше настоящего.

Я уже давно на Overlay
Делаю свою сборку - https://forum.mageia.org.ru/viewtopic.php?pid=15958#p15958
Можно запустить Магея8 и Lubuntu 21.04
Сборщик для Магее8 уже давно на Overlay и там уже давно работает аналог горячего подключения для Overlay
Просто это делается немного  по другому, чем в AUFS
В моем варианте эмулируется независимый от системы overlay и сбой в нем это сбой локального overlay
В aufs, при запуске например mkpfs, используется системная aufs, со всеми вытекающими последствиями. Тут сбой это  сбой системы и зависание самой системы.
AUFS это уже прошлое
Overlay более надежен в работе. Писал уже об этом.

Я не писал что AUFS это отстой и дерьмо.
Я написал что - "Overlay более надежен в работе."
Я при отладке PFS-OVL.pfs тестировал и AUFS и Overlay и поверте я знаю о чем пишу.
И тем более что Overlay включен в ядро. Проблм меньшее
Надо уважать чужое мнение и не накидываться на него как собака.
Не нравится так и не читайте.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 18:01:55
прошаренный юзер уирда
Кто-то просто забыл, что сам вписывал эти параметры в menu-uird.lst. Это (uird) есть в сборках lfds21.04-21.06-x86_64.iso, prar21.03-21.07-x86_64.iso, lfa20.08-21.05-x86_64.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 18:10:40
лучше использовать lfds21.04-21.06-x86_64.iso
Похоже все-таки перепутал lfa20.08 и lfds21.04, лежат в папке рядом.

Проверю и с lfds*.iso, но что-то сомневаюсь, что другой результат будет.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Сентябрь 2021, 18:23:01
PFS-OVL1.pfs - https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662
Извиняюсь недосмотрел.
В модуле присутствовал /etc/pfs.cfg из моей сборки.
Оставил только те скрипты, которые тестировал.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 18:49:11
Проверю и с lfds*.iso
Да, те же ошибки без учета /etc/pfs.cfg.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 18:52:59
https://forum.magos-linux.ru/t/novyj-podparametr-init/179
Цитата
Допустим что вы грузите с UIRD лайв ИСО и хотите чтобы /home сохранялся в папку.
....
Теперь можно записать так uird.mounts=/dev/sda3/home/::MNT=/home::INIT=yes
А откуда в LiveCD возьмется /dev/sda1...9? Правильней сказать, как он увидит эти разделы диска?
Название: Re: Overlay для mkpfs
Отправлено: betcher от 10 Сентябрь 2021, 19:04:01

А откуда в LiveCD возьмется /dev/sda1...9? Правильней сказать, как он увидит эти разделы диска?
Не понял в чем проблема. Все также как и было бы без этого подпараметра, только все что было в целевой папке до монтирования будет скопировано в эту папку. То есть если в модулях был хомяк юзера он будет и после монтирования в /home пустой папки.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 10 Сентябрь 2021, 19:12:13
откуда в LiveCD возьмется /dev/sda1...9?
Это я просто слегка забылся с этими виртуалками. :) Там надо дополнительно прописывать подключение носителя.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Сентябрь 2021, 20:18:58
Да, те же ошибки без учета /etc/pfs.cfg.

Извиняюсь за отнятое время и спасино за тестирование но  в lfds21.04 работать overlay пока не будет
Надо править другие скрипты.
Например стр 47 из pfsunload
Код
mountpoint=$(aufs-n --hidetop --raw '$n $bundle' |grep "$findit" |awk '{print $2}' )

Скрипт aufs-n  находит список установленных модулей и делает это не совсем корректно.
Список находится на базе файла /sys/fs/aufs/si_
Но в Overlay этого файла нет и  aufs-n в Overlay работать не будет
Но в числе установленных модулей, по крайней мере у меня,  есть /memory/changes
А /memory/changes это извините не системный модуль и включать /memory/changes в список явно некорректно.

Список в chroot2pfs я задал так
Код
sourcelist=$(grep '/dev/loop*' /proc/mounts | tr ',' ' ' | cut -f2 -d' ')
Тут список установленных модулей нормально и находится  и в AUFS и в Overlay

Еще из файла /sys/fs/aufs/si_  вычисляется путь запуска образа
Это я переделать не смог а путь задал в переменной.
Для коррекции пути ввел переменную -sl (select)
Но мне тут запретили ее исполбзование.
Вот такие проблеммы.
Попробую переделать  но без помощи будет для меня сложно и это будет через неделю а может и позже.

PS
В МагОС все намного проще сделано
Моя сборка это форк от МагОС. Т к дистры разные и приходится править магос-модуль
И у меня все работает
PFS-OVL1.pfs для скачивания пока удалю  т к не работанет в  lfds21.04
Название: Re: Overlay для mkpfs
Отправлено: sfs от 11 Сентябрь 2021, 11:14:11
никто не тестирует.
Я выше пытался. Не заработало
Желательно бы готовый модуль, чтобы я мог положить его в lfds21.04-21.06-x86_64.iso или prar21.03-21.07-x86_64.iso, пересобрать iso и проверить в вирте,
да. Или исо где все работает. Как разрабы увидят хороший функционал - сами побегут адаптировать под свои дистры
Я правильно понял - Вам удалось ofs подключить модуль к уже загруженному дистру. А отключить?
Самое простое будет привести кусок кода с горячим overlayfs функционалом. Точку монтирования и т.п. задать переменными или ключами
У DdShurick это не получилось и все ему поверили. Не ругайтесь с ним. Он толковый ветеран, отец нашего горячего ауфс , но старовер и альтернативщик. Любит потестировать юзеров на стрессоустойчивость. Вот (https://forum.puppyrus.org/index.php?topic=16200.0) наши изыскания в этом направлении

Если для продвижения вашей сборки нужна наша площадка (ftp wiki , раздел на форуме) - думаю у нас никто возражать не будет. Нужно?

без опциии -db (debug) трудно что то отладить
Я так и не понял чем гуй с вопросом удобнее задания ключа...  Ладно бы если в консоли надо было выбрать несколько строк списка - тогда гуй удобнее
Wiki дорускает применение псевдографических утилит
В СПО допустимо все что заработает. Мы договорились так. Отделять консоль с функционалом от гуя с интерфейсом юзера удобно как минимум для отладки

"Overlay более надежен в работе."
В чем это выражается? Чем ауфс ненадежен?
Overlay включен в ядро. Проблм меньшее
С этим не поспоришь. И по итогу тестов DdShurick ест меньше RAM на 1 слой
Кстати - кто знает почему ауфс так и не включили в ядро?
Название: Re: Overlay для mkpfs
Отправлено: betcher от 11 Сентябрь 2021, 12:29:47
Но в числе установленных модулей, по крайней мере у меня,  есть /memory/changes
ауфс-н выводит списки слоев, мемори/ченджез это слой. Чтоб его спрятать есть ключ, если не ошибаюсь --hidetop
Название: Re: Overlay для mkpfs
Отправлено: betcher от 11 Сентябрь 2021, 12:34:27
Тут список установленных модулей нормально и находится  и в AUFS и в Overlay
/dev/loop? совсем не обязательно модуль. То что у вас работает еще не означает, что будет работать везде, старайтесь при написании кода предполагать что его применение не ограничено вашими сборками.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 11 Сентябрь 2021, 13:23:56
Я правильно понял - Вам удалось ofs подключить модуль к уже загруженному дистру. А отключить?
Т к тестировал я на lfds21.04-21.06-x86_64.iso 
Используемый загрузчик UIRD   с опцией uird.union=overlay.
Для загрузки на AUFS опция uird.union=aufs
Тут в системе эмулируется AUFS а Overlay отключается.
UIRD - это initrd для модульных систем. Тут уже многое решено.
    "Overlay более надежен в работе."

В чем это выражается? Чем ауфс ненадежен?
Я не писал что ауфс ненадежено. Ну что за максимализм ?
Я написал что - "Overlay более надежен в работе."
Это же не означает что AUFS ненадежен и от него надо срочно избавляться.
Если запустить сборку образа  с ошибками, то как правило, в AUFS это был сбой системы и нетбук зависал. Максимум AUFS выдерживал два запуска.
А Overlay выдерживал около 10 запусков. Вероятно пока память в системе не заполнится.
Помогает в отладке опция -db (debug) но в вашей сборке, как выяснилось, ее применять нельзя.
Как запустить опцию -db (debug)  из ГУЙ обертки я еще не разобрался.

Я так и не понял чем гуй с вопросом удобнее задания ключа...  Ладно бы если в консоли надо было выбрать несколько строк списка - тогда гуй удобнее

Опция -db (debug) должна запускаться только в случае отладки и при наборе команды в терминале
А если она будет при каждом запуске вклбчаться и каждый раз спрашивать то это то же плохо

    Overlay включен в ядро. Проблем меньшее

С этим не поспоришь. И по итогу тестов DdShurick ест меньше RAM на 1 слой
Кстати - кто знает почему ауфс так и не включили в ядро?

Вроде как в AUFS слишком сложный код. Ну это надо было как то обосновать и нашли удачную формулировку.
Так Overlay у меня работает но непонятно как  нужные тени передать в папку сборки. Все существующие опции не помогли.
Но для работы с системными модулями Overlay подходит. Там теней нет
Тени у меня появляются при сохранении системных изменений в модуль при выключении системы.
Но тут выручает UIRD+TOXZM.
Тут в Overlay  тени сохраняются. Конечно не совсем то что надо, но другого пока нет
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 11 Сентябрь 2021, 14:19:59
Если для продвижения вашей сборки нужна наша площадка (ftp wiki , раздел на форуме) - думаю у нас никто возражать не будет. Нужно?

Время гениев одиночек несомненно прошло.
Сейчас дистры делают команды. Там есть свои подразделения. Работа разделена а потом собирается дистр
Хорошо бы что бы сделать какую то унификацию для модульных сборок.
Тогда бы все усилия действовали в одном направлении и можно было бы сделать какое то разделение труда.
Отсюда повышение качества сборок.
В этом плане я готов участвовать.
А для того что бы поместить ее на вашу плошадку нужно что бы ее кто то протестировал.
Ну и хотя бы один положительный отзыв.
И еще я должен включить допустим fds21.04 в число запускаемых дистров в своей сборке.
А это я сделать не могу, хотя он у меня запускается и работает.
Причины то что нет полной цифровой нумерации модулей
Пробовал переименовать но появились проблемы

То что у вас работает еще не означает, что будет работать везде, старайтесь при написании кода предполагать что его применение не ограничено вашими сборками.

Пожалуй вы правы и не стоит мне пытаться править   lfds21.04
Слишком все завязано на AUFS.
У меня вопросы к lfds21.04 я их задавал и они остались без ответа.
Нужен aufs-n для работы в Ovrtlay и AUFS
Название: Re: Overlay для mkpfs
Отправлено: sfs от 12 Сентябрь 2021, 09:53:33
Если запустить сборку образа  с ошибками
Это как?
в вашей сборке, как выяснилось, ее применять нельзя.
В моей можно все что угодно. Выше подробно объяснял - определитесь что вы делаете - совместимый с pfs-util проект или конфликтующий с ним форк. Иначе запаримся тестировать

В итоге так и не понял - получилось у вас горячее ofs подключение \ отключение модуля  на загруженной системе или нет

Сейчас дистры делают команды
Большие почти всегда делали команды. Чем больше команда тем качественнее дистр. Поэтому я и перешел на "донорские сборки". А раньше все сами компилили (когда и у нас была команда). У нас, как и у всех самодельщиков , тенденция обратная.
Хорошо бы что бы сделать какую то унификацию для модульных сборок.
Да. Я именно так и сделал: LF (https://forum.puppyrus.org/index.php?board=182.0). Можно перенести в любой дистр. Включает в себя pfs-util и 3 варианта initrd : uird pra-porteus rootaufs2
C betcher совместная работа получается. Подключайтесь и вы. Если мы не поспеваем за вами - форкайте, но потом желательно свежии идеи добавить в pfs-util
для того что бы поместить ее на вашу плошадку нужно что бы ее кто то протестировал.
А для этого надо ее разместить на нашей площадке и прорекламировать
Хотя бы шапку этой темы оформить ссылками на дистр и вообще там расписать что и для чего вы делаете
По моему опыту фругал на площадках больших дистров никому не интересен
Пробовал переименовать но появились проблемы
Переименовывайте как Вам удобно, но перестанет работать автообновление
Пробовал переименовать но появились проблемы
Выше я писал про порядок слоев (089 090 должен быть наверху)
У меня вопросы к lfds21.04 я их задавал и они остались без ответа.
Тыкните в вопросы на которые я не ответил
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 12 Сентябрь 2021, 14:19:07
    Если запустить сборку образа  с ошибками

Это как?

Основная проблема то что в pfs работа базируется на файле /sys/fs/aufs/si_   а в OVL файла файла /sys/fs/overlay/si_  нет.
Недосмотрел и пути получались с ошибками.
Кроме того bash в разных дистрах может работать по разному.
Lubuntu и Debian например не поняли команду
Код
if [ "$unionfs" = 'overlay' -a "$re_mount" = "yes" ]; then
     пришлось ее заменить на варинт применяемый в Mageia
Код
if [ "$unionfs" = 'overlay' ] && [ "$re_mount" = "yes" ]; then

После изменений chroot2pfs в AUFS  писал модуль почему то в хомяк и были одни сбои
Ну задал стр 18 в chroot2pfs
Код
NAME="$WORKMNT/nomod"
И все наладилось.
WORKMNT у меня задана в pfs.

В итоге так и не понял - получилось у вас горячее ofs подключение \ отключение модуля  на загруженной системе или нет

1)  Сделал пустой OVL стр 284 в pfs
Код
OPTIONS='metacopy=off,index=off,xino=on,rw'
mount -t overlay -o $OPTIONS,lowerdir=lower$N,upperdir=upper$N/changes$N,workdir=upper$N/workdir$N overlay "overlay$N" || return 1

2) Потом подмонтировал addlayer в стр 357  в pfs
Код
LAYERUNION="$(cat /tmp/LAYERUNION)"
mount -t overlay -o $OPTIONS,lowerdir=lower$N:$LAYERUNION,upperdir=upper$N/changes$N,workdir=upper$N/workdir$N overlay "overlay$N"
Как я понял OVL перемонтируется с новыми параметрами. но старые параметры не сохраняются и все надо снова писать. OVL это не AUFS
Файл  /tmp/LAYERUNION  каждый раз переписывается  и OVL каждый раз монтируется с новыми параметрами
Сборку для Магеи на этом принципе в OVL делаю.
С натяжкой это то же где то горячее подключение

    Хорошо бы что бы сделать какую то унификацию для модульных сборок.

Да. Я именно так и сделал: LF. Можно перенести в любой дистр. Включает в себя pfs-util и 3 варианта initrd : uird pra-porteus rootaufs2
C betcher совместная работа получается. Подключайтесь и вы. Если мы не поспеваем за вами - форкайте, но потом желательно свежии идеи добавить в pfs-util

Если модули можно переименовать и из корня "лишние" файлы убрать то я наверно добавлю lfds21.04  в список загружаемых дистров в своей  сборке
Получилось что хотя в МагОС и добавлен pfs но он особо и не используется. Но это даже к лучшему. Можно pfs по частям править для OVL
И можно будет запустить и посмотреть  а потом уже делать все остальное. В частности автообновление мне понравилось. 
Но это буден наверно где то через месяц. Пока морочу себе и моему efi-нетбуку проблемой создания образа сборки в формате ~.iso для bios загрузки
Bios-загрузку у меня можно записать но только например для флэшки
А можно ли в virtualbox запустить и посмотреть работу образа для efi-загрузки ?
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 12 Сентябрь 2021, 14:53:51
Тыкните в вопросы на которые я не ответил

1)   chroot2pfs
   было стр 111
   
Код
layers=$(aufs-n --hidetop --reverse --raw '$bundle')
заменил на стр 112
   
Код
sourcelist=$(grep '/dev/loop*' /proc/mounts | tr ',' ' ' | cut -f2 -d' ')
Список установленных модулей создается но теряется слой /memory/changes. Вроде и так все работает.
Зачем учитывать /memory/changes когда это не модуль а рабочая папка OVL или AUFS ?

2) Зачем папку запуска образа OVL или AUFS  вычислять
Код
SYSMNT=/$(cut -f2 -d/ /sys/fs/aufs/si_$(grep ' / aufs' /proc/mounts | cut -f2 -d= | tr ',' ' ' | cut -f1 -d' ')/br0)
Не проще ли ее в параметрах задать.
Папка /memory всем хороша но если в системе мало памяти, например 2 Гб, то  chroot2pfs может и не запуститься.
У меня папка сборки образа  образа OVL или AUFS  обычно на диске.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 12 Сентябрь 2021, 15:39:54
Зачем учитывать /memory/changes когда это не модуль а рабочая папка OVL или AUFS ?
С ключем --hidetop не должно быть memory/changes в выхлопе aufs-n
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 12 Сентябрь 2021, 17:15:02
Список установленных модулей
А не проще не выгорбачиваться, а тупо:
Код
# ls -1 /mnt/live/memory/images
000-kernel-5.12.0-pf6-lf_64.pfs
001-prar-2103-sf03.pfs
001-prar-2103-sf03_DEV.pfs
040-de-jwm-2.4.0_64-pb03.pfs
070-prar-full-2103-sf03.pfs
083-chrome-profile-sf19.pfs
089-upd-2103-sf16.pfs
celluloid-ff44-0.21-2103-sf02.pfs
google-chrome-gtk3-p-93.0.4577.63_64-au01.pfs
gparted-1.2.0-2103-sf01.pfs
gtk+2-2.24.32.pfs
linux-firmware-middle-pt-2004_any-sf02.pfs
pra-installer-2020.01-24-any.pfs
python2-ytdl-2.7.16_64-sf02.pfs
trayNet.pfs
youtube-dl-2021.06.06_any-au01.pfs
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 12 Сентябрь 2021, 17:59:17
Действительно проще. Но папки /memory/changes  тут то же нет.
Полагаю что ее можно и не учитывать в chroot2xzm.
Но папки /mnt/live/memory/images может и не быть в разных дистрах.
Унивирсальнее конечно
Код
sourcelist=$(grep '/dev/loop*' /proc/mounts | tr ',' ' ' | cut -f2 -d' ')
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 12 Сентябрь 2021, 18:08:14
Извиняюсь ошибся в вопросе. Сейчас испрваил

1)   chroot2pfs
   было стр 111
   
Код

layers=$(aufs-n --hidetop --reverse --raw '$bundle')

заменил на стр 112
   
Код

sourcelist=$(grep '/dev/loop*' /proc/mounts | tr ',' ' ' | cut -f2 -d' ')

Список установленных модулей создается но теряется слой /memory/changes. Вроде и так все работает.
Зачем учитывать /memory/changes когда это не модуль а рабочая папка OVL или AUFS ?


С ключем --hidetop не должно быть memory/changes в выхлопе aufs-n

Мне не удалось сделать  aufs-n для работы в AUFS и Overlay, Уж слишком мудреный.
И в mkpfs, chroot2pfs я aufs-n исключил и заменил определение установленных модулей на базе  /proc/mounts
А там слоя /memory/changes нет.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 12 Сентябрь 2021, 18:44:22
Код
sourcelist=$(grep '/dev/loop*' /proc/mounts | tr ',' ' ' | cut -f2 -d' ')
Ещё короче
Код
sourcelist=$(awk '/loop/ {print $2}' /proc/mounts)
Одна беда, что все эти способы не показывают истинного распололжения слоёв, а выдают список "по алфавиту"
Название: Re: Overlay для mkpfs
Отправлено: betcher от 13 Сентябрь 2021, 08:41:26
Список слоев в нужной последовательности есть в /proc/mounts в строке монтирования вашего overlayfs. Еще раз повторюсь, нельзя использовать греп по /dev/loop там может быть что угодно, к примеру смонтированный zram.
# mount Загрузки/alt-server-20191022-e2kv4.iso /mnt
#cat /proc/mounts |grep loop |grep mnt
/dev/loop28 /mnt iso9660 ro,relatime,nojoliet,check=s,map=n,blocksize=2048 0 0
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 13 Сентябрь 2021, 09:25:38
Ещё короче
Код

sourcelist=$(awk '/loop/ {print $2}' /proc/mounts)

Действительно поиск по loop находит не только модули.
Вот такой вариант

Код
sourcelist=$(awk '/bundles/ {print $2}' /proc/mounts)

Тут нашлись только модули в /memory/bundles/
Ну а  /memory/changes нужен для chroot2pfs ?
Название: Re: Overlay для mkpfs
Отправлено: betcher от 13 Сентябрь 2021, 09:46:10
sourcelist=$(awk '/bundles/ {print $2}' /proc/mounts)
C uird.cp тоже создается бандл, но смонтирован в aufs/overlayfs он не будет.
Думаю, нужно оставить для aufs то как сделал в  DdShurik у нас в pfsutils, а для оверлея брать из строки монтирования оверлея которая есть в /proc/mounts.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 13 Сентябрь 2021, 11:53:35
Спасибо за помощь. Действительно chroot2pfs не монтируется.
Такой вариант
Код
sourcelist=$(grep '/dev/loop*' /proc/mounts|cut -f2 -d' '|awk /bundles/)

Ну и короткий вариант работает
Код
sourcelist=$(awk '/loop/ {print $2}' /proc/mounts|awk /bundles/)
На этот раз тестил chroot2pfs со смонтированным *.iso образом.
Все чисто !!!
А какой вариант  надежнее ?

Думаю, нужно оставить для aufs то как сделал в  DdShurik у нас в pfsutils, а для оверлея брать из строки монтирования оверлея которая есть в /proc/mounts.

Конечно это лучший вариант.
Но сейчас у меня в chroot2pfs для AUFS и OVL один вариант с поиском в  /proc/mounts и вроде все работает.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 13 Сентябрь 2021, 12:09:24
Код
sourcelist=$(awk '/loop/ && /bundles/ {print $2}' /proc/mounts)
;) Но,  :( увы, вывод показывает очерёдность монтирования, а не порядок слоёв.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 13 Сентябрь 2021, 12:33:15
Код
bash-4.4$ grep overlay /proc/mounts | tr ':' '\n'
overlay / overlay rw,relatime,lowerdir=/save
/Office.xzm
/python-2.7.16.xzm
/dialog-1.3.xzm
/gtk+3-3.24.14_64.xzm
/depfinder-1.4.4.xzm
/isomaster-1.3.14.xzm
/IceWM-1.6.2.xzm
/Bluez-5.50.xzm
/apps-alternative.xzm
/rox-filer-2.11p.xzm
/gpicview-0.2.5.xzm
/upNet-0.3.xzm
/links-2.19.xzm
/jwm-2.4.0.xzm
/mpg123-1.25.6.xzm
/telegram-2.1.10.xzm
/leafpad-0.8.18.1.xzm
/slim-1.3.6.xzm
/mplayer-1.4-7.2.0.xzm
/xarchiver-0.5.4.14.xzm
/dunst-1.4.1.xzm
/backgrounds.xzm
/xpdf-4.02_64.xzm
/seamonkey-gtk2-2.49.3.xzm
/flashplugin-32.0.xzm
/mtpaint-3.40.xzm
/geany-1.36.xzm
/cdrtools-3.01.xzm
/Xorg
/kernel
/base,upperdir=/changes/upper,workdir=/changes/work,index=off,nfs_export=off,xino=off 0 0
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 13 Сентябрь 2021, 13:30:44
Код

sourcelist=$(awk '/loop/ && /bundles/ {print $2}' /proc/mounts)
У вас талант находить очень простые  решения !
Вариант рабочий. У меня chroot2pfs смонтировал все модули чисто.
Но что то страшновато уже включать /bundles/ в опцию поиска. Мало ли что там может смонтироваться
 Так какой вариант принять ?
увы, вывод показывает очерёдность монтирования, а не порядок слоёв.
В МагОС модули пронумерованы и очерёдность монтирования и  порядок слоёв это одно и то же.
UIRD, если не ошибаюсь, монтирует модули в алфавитном порядке
Выходит что бы корректно запустить lfds21.04 от МагОС в своей сборке мне надо пронумеровать модули. Конечно хорошо бы  запустить именно авторскую сборку.
А где задается очередность запуска модулей ?
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 13 Сентябрь 2021, 14:09:57
А где задается очередность запуска модулей ?
Подключения? Строкой монтирования, как её пропишете|сгенерируете.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 13 Сентябрь 2021, 14:12:59
Выходит что бы корректно запустить lfds21.04 от МагОС в своей сборке мне надо пронумеровать модули.
Нашел нужный список
title ▒▒ LFDS21.04 LXQT
load=
noload=
base/000-kernel-5.11.0-pf2-1-pra_64.pfs
base/001-ds2104-sf04.pfs
base/005-python3-ds2104-sf03.pfs
base/025-gvfs-ds2104-sf01.pfs
base/030-qt5-ds2104-sf02.pfs
base/040-de-lxqt-qt5-0.16-ds2104-sf10.pfs
base/070-lf-a-sf01.pfs
base/083-chrome-profile-sf15.pfs
base/089-upd-ds2104-sf10.pfs
modules/evince-gtk3-p-3.26.0_64-sf08.pfs
modules/google-chrome-gtk3-p-91.0.4472.114_64-au01.pfs
modules/gparted-1.2.0-ds2104-sf01.pfs
modules/gthumb-gtk3-p-3.10.0_64-sf01.pfs
modules/laptop-mode-tools-1.74-ds2104-sf01.pfs
modules/linux-firmware-middle-pt-2004_any-sf02.pfs
modules/mpv-0.32.0-ds2104-sf01.pfs
modules/mtpaint-gtk3-p-3.49.29_64-sf02.pfs
modules/network-manager-1.30.0-ds2104-sf01.pfs
modules/pulseaudio-14.2-ds2104-sf01.pfs
modules/python2-ytdl-2.7.16_64-sf02.pfs
modules/transmission-sequential-gtk3-p-3.00_64-sf03.pfs
modules/vlc-mpv-qt5-3.0.12-ds2104-sf01.pfs
modules/youtube-dl-2021.06.06_any-au01.pfs

Модули распологаются в алфавитном порядке.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 13 Сентябрь 2021, 17:16:17
UIRD, если не ошибаюсь, монтирует модули в алфавитном порядке
Да в алфавитном, но учитывается полное (с путем) имя модуля. То есть все что в .../modules/..., будет монтироваться после того что в .../base/..., а то что во втором источнике после того что в первом потому что /memory/layer-base/1... по алфавиту после /memory/layer-base/0/... и так далее.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 13 Сентябрь 2021, 17:17:19
У вас талант находить очень простые  решения !
Это да. Соглашусь!
Название: Re: Overlay для mkpfs
Отправлено: sfs от 13 Сентябрь 2021, 17:22:30
Модули распологаются в алфавитном порядке.
да, но 089 и 090 выше всех загруженных на стадии инттрд. Ну или положить их в /modules и переименовать zz089 zz090
Поэтому мои сборки у вас могли и не запускаться. В 089 настройки и фиксы
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 13 Сентябрь 2021, 17:40:45
089 и 090 выше всех загруженных
В menu.lst menu-uird.lst это прописано в выделенном квадрате, но наверно в глаза не бросается.

Цитата
Модули 089-upd* и 090-save* (если есть) нужно перенести в каталог UIRD/modules.
В RootAuFs2 эти модули в верхнем слое aufs (перекрывают все модули). 


У меня они лежат в UIRD/base, чтобы можно было, при необходимости, запускать с аналогом base_only - uird.noload=/modules.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 13 Сентябрь 2021, 19:23:06
Проверил на своей сборке на Магее8 (это форк МагОС)

Список модулей на базе aufs-n в chroot2pfs
MagOSM ~ # chroot2pfs
Using:  chroot
Please enter name for module:      df
aufs number: 1
/memory/bundles1/02-base.pfs
/memory/bundles1/04-base-drivers.pfs
/memory/bundles1/08-x-base.pfs
/memory/bundles1/10-base-core.pfs
/memory/bundles1/12-base-multimedia.pfs
/memory/bundles1/20-x-plasma.pfs
/memory/bundles1/22-x-mate.pfs
/memory/bundles1/31-x-utilities.pfs
/memory/bundles1/33-x-network.pfs
/memory/bundles1/34-office.pfs
/memory/bundles1/35-mga-pach.pfs
/memory/bundles1/50-uird.pfs
/memory/bundles1/magosm1.pfs
/memory/bundles1/PFSOVL.pfs
/memory/bundles1/X-homeX.xzm

Это список  из /proc/mounts
# awk '/loop/ && /bundles/ {print $2}' /proc/mounts
/memory/bundles/02-base.pfs
/memory/bundles/04-base-drivers.pfs
/memory/bundles/08-x-base.pfs
/memory/bundles/10-base-core.pfs
/memory/bundles/12-base-multimedia.pfs                                                                                                                                                       
/memory/bundles/20-x-plasma.pfs                                                                                                                                                               
/memory/bundles/22-x-mate.pfs                                                                                                                                                                 
/memory/bundles/31-x-utilities.pfs                                                                                                                                                           
/memory/bundles/33-x-network.pfs                                                                                                                                                             
/memory/bundles/34-office.pfs                                                                                                                                                                 
/memory/bundles/35-mga-pach.pfs                                                                                                                                                               
/memory/bundles/50-uird.pfs                                                                                                                                                                   
/memory/bundles/magosm1.pfs                                                                                                                                                                   
/memory/bundles/PFSOVL.pfs                                                                                                                                                                   
/memory/bundles/X-homeX.xzm

Они одинаковые. Модули нумерованные и есть ненумерованнын и все на своих местах и проблем нет

увы, вывод показывает очерёдность монтирования, а не порядок слоёв.

Непонятно что за очерёдность монтирования и порядок слоёв. Что то не хватает или перепутано ?
Если нетрудно, можно примеры привести
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 14 Сентябрь 2021, 18:29:21
Переименовывайте как Вам удобно, но перестанет работать автообновление

Добавил буквенно-цифровой номер для имен модулей в  lfds21.04
Например :
b00-kernel-5.11.0-pf2-1-pra_64.pfs   - папка base 00-модуль
m01-evince-gtk3-p-3.26.0_64-sf08.pfs - папка module 01-модуль
u03-update.pfs  - папка module  03 модуль с обновлениями
z00-magosm.pfs   -  магос-модуль
z02    - модуль с обновлением магос-модуля (PFSOVL.pfs)

Тестирование.
AUFS без изменений pfs
MagOS ~ # chroot2pfs
Using:  chroot
Please enter name for module:      tr
aufs number: 1
/memory/bundles1/b00-kernel-5.11.0-pf2-1-pra_64.pfs
/memory/bundles1/b01-ds2104-sf04.pfs
/memory/bundles1/b05-python3-ds2104-sf03.pfs
/memory/bundles1/b25-gvfs-ds2104-sf01.pfs
/memory/bundles1/b30-qt5-ds2104-sf02.pfs
/memory/bundles1/b40-de-lxqt-qt5-0.16-ds2104-sf10.pfs
/memory/bundles1/b70-lf-a-sf01.pfs
/memory/bundles1/m01-evince-gtk3-p-3.26.0_64-sf08.pfs
/memory/bundles1/m03-gthumb-gtk3-p-3.10.0_64-sf01.pfs
/memory/bundles1/m05-mtpaint-gtk3-p-3.49.29_64-sf02.pfs
/memory/bundles1/m07-python2-ytdl-2.7.16_64-sf02.pfs
/memory/bundles1/m09-transmission-sequential-gtk3-p-3.00_64-sf03.pfs
/memory/bundles1/m21-google-chrome-gtk3-p-91.0.4472.114_64-au01.pfs
/memory/bundles1/m23-gparted-1.2.0-ds2104-sf01.pfs
/memory/bundles1/m25-laptop-mode-tools-1.74-ds2104-sf01.pfs
/memory/bundles1/m27-linux-firmware-middle-pt-2004_any-sf02.pfs
/memory/bundles1/m29-mpv-0.32.0-ds2104-sf01.pfs
/memory/bundles1/m31-network-manager-1.30.0-ds2104-sf01.pfs
/memory/bundles1/m33-pulseaudio-14.2-ds2104-sf01.pfs
/memory/bundles1/m35-vlc-mpv-qt5-3.0.12-ds2104-sf01.pfs
/memory/bundles1/m89-upd-ds2104-sf10.pfs
/memory/bundles1/u03-update.pfs
/memory/bundles1/u05-ubuntu-pach.pfs
/memory/bundles1/u50-uird-r.pfs
/memory/bundles1/z00-magosm.pfs
DISPLAY=:0                                   
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 14 Сентябрь 2021, 18:29:46
Overlay c новым pfs
# chroot2pfs
/etc/initvars: строка 14: uird-noload=?u: команда не найдена                                                                                                                                 
Using:  chroot                                                                                                                                                                               
/memory/WORKFS/overlay1                                                                                                                                                                                                                                                                                                                             
overlay number: 1                                                                                                                                                                             
NEWLAYER=/memory/WORKFS/bundles1/b00-kernel-5.11.0-pf2-1-pra_64.pfs                                                                                                                           
NEWLAYER=/memory/WORKFS/bundles1/b01-ds2104-sf04.pfs                                                                                                                                         
NEWLAYER=/memory/WORKFS/bundles1/b05-python3-ds2104-sf03.pfs                                                                                                                                 
NEWLAYER=/memory/WORKFS/bundles1/b25-gvfs-ds2104-sf01.pfs                                                                                                                                     
NEWLAYER=/memory/WORKFS/bundles1/b30-qt5-ds2104-sf02.pfs                                                                                                                                     
NEWLAYER=/memory/WORKFS/bundles1/b40-de-lxqt-qt5-0.16-ds2104-sf10.pfs                                                                                                                         
NEWLAYER=/memory/WORKFS/bundles1/b70-lf-a-sf01.pfs                                                                                                                                           
NEWLAYER=/memory/WORKFS/bundles1/m01-evince-gtk3-p-3.26.0_64-sf08.pfs                                                                                                                         
NEWLAYER=/memory/WORKFS/bundles1/m03-gthumb-gtk3-p-3.10.0_64-sf01.pfs                                                                                                                         
NEWLAYER=/memory/WORKFS/bundles1/m05-mtpaint-gtk3-p-3.49.29_64-sf02.pfs                                                                                                                       
NEWLAYER=/memory/WORKFS/bundles1/m07-python2-ytdl-2.7.16_64-sf02.pfs                                                                                                                         
NEWLAYER=/memory/WORKFS/bundles1/m09-transmission-sequential-gtk3-p-3.00_64-sf03.pfs                                                                                                         
NEWLAYER=/memory/WORKFS/bundles1/m21-google-chrome-gtk3-p-91.0.4472.114_64-au01.pfs                                                                                                           
NEWLAYER=/memory/WORKFS/bundles1/m23-gparted-1.2.0-ds2104-sf01.pfs                                                                                                                           
NEWLAYER=/memory/WORKFS/bundles1/m25-laptop-mode-tools-1.74-ds2104-sf01.pfs                                                                                                                   
NEWLAYER=/memory/WORKFS/bundles1/m27-linux-firmware-middle-pt-2004_any-sf02.pfs
NEWLAYER=/memory/WORKFS/bundles1/m29-mpv-0.32.0-ds2104-sf01.pfs
NEWLAYER=/memory/WORKFS/bundles1/m31-network-manager-1.30.0-ds2104-sf01.pfs
NEWLAYER=/memory/WORKFS/bundles1/m33-pulseaudio-14.2-ds2104-sf01.pfs
NEWLAYER=/memory/WORKFS/bundles1/m35-vlc-mpv-qt5-3.0.12-ds2104-sf01.pfs
NEWLAYER=/memory/WORKFS/bundles1/m89-upd-ds2104-sf10.pfs
NEWLAYER=/memory/WORKFS/bundles1/u03-update.pfs
NEWLAYER=/memory/WORKFS/bundles1/u05-ubuntu-pach.pfs
NEWLAYER=/memory/WORKFS/bundles1/u50-uird-r.pfs
NEWLAYER=/memory/WORKFS/bundles1/z00-magosm.pfs
NEWLAYER=/memory/WORKFS/bundles1/z02-PFSOVL.pfs
Start Overlay
DISPLAY=:0

Листинг везде одинаковый но автообновление не работает.
Можно ли это исправить?

PS
Стало удобнее. В dolphin теперь можно зайти в /memory/bundles и видно как модули стартовали и где находятся
Например uird.noload=z запуск  lfds21.04 без моего магос-модудя
Или uird.noload=z,u  апуск  lfds21.04 без моего магос-модудя и обновлений

Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 08 Октябрь 2021, 10:49:37
То что получилось.
Скачать   PFSOVL.xzm -   https://cloud.mail.ru/public/yAGs/uShczCfGZ
И  для работы Overlay в  lfds21.04 надо править другие скрипты.
В моей сборке правленные скрипты в Overlay работают - https://forum.mageia.org.ru/viewtopic.php?id=1303
Но образ моей сборки в ~.iso формате у меня  не получился

PS
Пока непонятно. Есть ли смысл продолжать ?
Но если я продолжу то получится опять форк lfds21.04 да еще без автообновления
На Overlay работать можно но что то правок много в lfds21.04
Видимо надо не скрипты править а включить в aufs-n возможность работы с Overlay
В МагОС правок меньше.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 10 Октябрь 2021, 09:47:58
образ моей сборки в ~.iso формате у меня  не получился
Посмотрите мои скрипты в корне моих дистров
Есть ли смысл продолжать ?
В итоге горячее подключение получилось? Если нет - надо ли торопиться. Ауфс жив
betcher написал что сейчас занят. Объединить функционал пока будет проблематично. Пока в имеющемся не все баги пофикшены.
Ну и чем сложнее будет пфс - тем сложнее его будет поддерживать
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 10 Октябрь 2021, 14:27:02
В итоге горячее подключение получилось? Если нет - надо ли торопиться. Ауфс жив
Писал уже.
 

1)  Сделал пустой OVL стр 284 в pfs
Код
OPTIONS='metacopy=off,index=off,xino=on,rw'
mount -t overlay -o $OPTIONS,lowerdir=lower$N,upperdir=upper$N/changes$N,workdir=upper$N/workdir$N overlay "overlay$N" || return 1

2) Потом подмонтировал addlayer в стр 357  в pfs
Код
LAYERUNION="$(cat /tmp/LAYERUNION)"
mount -t overlay -o $OPTIONS,lowerdir=lower$N:$LAYERUNION,upperdir=upper$N/changes$N,workdir=upper$N/workdir$N overlay "overlay$N"

Как я понял OVL перемонтируется с новыми параметрами. но старые параметры не сохраняются и все надо снова писать. OVL это не AUFS
Файл  /tmp/LAYERUNION  каждый раз переписывается  и OVL каждый раз монтируется с новыми параметрами

С натяжкой это то же где то горячее подключение

На этом принципе у меня сборка Магеи  в OVL делается. Так что вариант давно проверенный.
Логически опцию -remount из aufs   в OVL сделал за счет системы

    образ моей сборки в ~.iso формате у меня  не получился

Посмотрите мои скрипты в корне моих дистров

Ваш вариант и смотрел но проблемы.
У меня чистый efi-нетбук, где bios отсутствует.
Загрузчик установил rEFInd - https://www.bootdev.ru/2017/02/Ustanovka-rEFInd.html
Вначале UEFI нетбука находит rEFInd и запускает его.
При этом rEFInd ищет на  дисках EFI загрузку и если находит то формирует кнопки запуска.
При этом разницы нет. Грузятся линукс и винда. Например старый комп с устаревшим UEFI и новый комп запускаются одинаково.
Соответственно rEFInd в Virtualbox видимо отсутствует и ничего не грузится.
Но эту проблему можно пока отложить.

Объединить функционал пока будет проблематично.

А как на счет добавить  номера  для имен модулей. А то половина модулей с номерами а другая половина нет.
Это позволило бы искать модули в /proc/mounts  -  https://forum.puppyrus.org/index.php?topic=23518.msg179155#msg179155
Я опробовал буквенно-цифровой номер - - https://forum.puppyrus.org/index.php?topic=23518.msg179174#msg179174
Если номера  для всех имен модулей нельзя добавить то запуск PFS в Overlay возможен видимо только в МагОС.
Ну не работает в Overlay aufs-n. Пробовал его править да только запутался.
В МагОС поиск модулей происходит  в /proc/mounts при этом  есть номера  для всех имен модулей и особых проблем нет.
UIRD монтирует модули в алфавитном, но учитывается полное (с путем) имя модуля. То есть все что в .../modules/..., будет монтироваться после того что в .../base/..., а то что во втором источнике после того что в первом потому что /memory/layer-base/1... по алфавиту после /memory/layer-base/0/... и так далее.

Может что то недопонимаю ?
Название: Re: Overlay для mkpfs
Отправлено: sfs от 11 Октябрь 2021, 10:39:25
У меня чистый efi-нетбук, где bios отсутствует.
У меня там и под это есть на груб2
rEFInd в Virtualbox видимо отсутствует и ничего не грузится.
По моему опыту в вбокс с ефи все плохо
как на счет добавить  номера  для имен модулей
Отрицательно. По логике этот номер должен указывать порядок слоя. У меня все ненумерные - без разницы. Т.е. не представляю, как модули софта переименовать
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 11 Октябрь 2021, 20:27:07
Цитата: ingvaro от Вчера в 14:27:02

    как на счет добавить  номера  для имен модулей

Отрицательно. По логике этот номер должен указывать порядок слоя. У меня все ненумерные - без разницы. Т.е. не представляю, как модули софта переименовать

Тогда остается один путь .
Это в Overlay эмулировать при загрузке аналог  /sys/fs/aufs/si_${prefix}  ( /sys/fs/overlay/si_${prefix}  для aufs-n
Но как это сделать я не представляю.

ps
Или использовать МагОС
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 11 Октябрь 2021, 20:53:44
А есть ли на самом деле проблема, в отсутствующих "номерах для имен модулей". Или это иллюзия проблемы?

В теме pfs-get - консольный менеджер модулей.pfs (https://forum.puppyrus.org/index.php?topic=22719.msg168058#msg168058), betcher без проблем обрабатывал массивы модулей в наших репах.


Сам скрипт, для ознакомления, в гите pfs-utils-cli (https://github.com/pfs-utils/pfs-utils-cli/tree/master), переключить master на pfsget.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 11 Октябрь 2021, 21:09:54
Или это иллюзия проблемы?
Проблема абсолютно надуманная. Истинно "номерных" модулей - по пальцам пересчитать: base, kernel, upd и save. Эти модули можно загружать по именам, так реализовано в Richy, остальные модули номеров не требуют, достаточно чтобы они "не пересекались". Richy можно загружать как aufs, так и overlayfs соответствующим initrd, при этом модули одни и те же.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 12 Октябрь 2021, 17:43:53
У меня был вопрос о возможности загрузки модулей из /proc/mounts
Вы же сами тестировали :
Re: Overlay для mkpfs
« Ответ #62 : 13 Сентябрь 2021, 12:09:24 »

    Цитировать (выделенное)

Код

sourcelist=$(awk '/loop/ && /bundles/ {print $2}' /proc/mounts)

;) Но,  :( увы, вывод показывает очерёдность монтирования, а не порядок слоёв.

Или я что то не так понял ?

Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 18 Январь 2022, 20:36:51
Сделал у себя Overlay. Подробнее - https://forum.magos-linux.ru/t/overlayfs-na-pfs-utilitah/177/8
Тема за ненадобностью закрывается
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 18 Январь 2022, 20:43:02
Что значит закрывается. Мне тема интересна, могу выступить тестером на здешних сборках:
Скачать  -  PFS-OVL.xzm - https://cloud.mail.ru/public/yAGs/uShczCfGZ
Так как я уже несколько дней использую родное бинарное ядро pf (без aufs), то обратил внимание, что pfs-utils дают сбой даже при простой упаковке папок в модуль. Можно уйти в каменный век и использовать исходные mksquashfs/unsquashfs, но это не наш метод.

Скачал PFSOV.pfs по ссылке, распаковал пока в rootcopy, перезагрузился и вуаля, все работает. Правда пришлось еще создать (https://forum.magos-linux.ru/t/overlayfs-na-pfs-utilitah/177) toxzm/filtres/pfs-filtr.

Насчет наличия горячего подключения пока не смотрел, есть ли оно, и если есть, работает ли.


p.s. И да, у меня uird, если это имеет значение.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 19 Январь 2022, 15:48:56
Что запустилось это здорово, но как у вас с порядком монтирования модулей в Overlay и AUFS ?
          Проблема в том что в aufs модули лежат в папке **/sys/fs/aufs/si_*** и он и задает порядок запуска модулей. В Overlay есть только  **/proc/mounts** и там нумерации нет.
Проблему выявил

sourcelist=$(awk '/loop/ && /bundles/ {print $2}' /proc/mounts)

;) Но,  :( увы, вывод показывает очерёдность монтирования, а не порядок слоёв.

И так я не понял что там за проблема в Papirus с нумерацией ? Пронумеровал модули и сборка работает. Только автообновления из системы нет ????

Скачал PFSOV.pfs по ссылке, распаковал пока в rootcopy, перезагрузился и вуаля, все работает. Правда пришлось еще создать toxzm/filtres/pfs-filtr.
Переделал PFSOV
Изменения минимальны:
     pfs
Работает в AUFS и Overlay
     aufs-n
AUFS тут работает по своей логике. Overlay по своей.
  **mkpfs**   
Работает в AUFS и Overlay. Режим сохранения с тенями в Overlay делает mhddfs
   chroot2pfs
Проверял на команде
Код
chroot2pfs -o  /memory/aut.pfs
С другими функциями пока не разобрался и они могут не работать.
 Режим сохранения с тенями  в Overlay делает mhddfs
   pfsextract, syschanges
Мелкие правки.

Но надо установить утилиту mhddfs.  В Ubuntu она присутствует в репах.
В Overlay нельзя корректно объединить старый модуль сохранения системных изменений и новый. Ну соединить то можно но  все нужные тени будут удалены.
Но с этой задачей справляется утилита mhddfs.. Подробнее - (https://forum.mageia.org.ru/viewtopic.php?pid=35442#p35442)

Другие модули даже не проверял. Могут не работать.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 19 Январь 2022, 16:15:10
Насчет наличия горячего подключения пока не смотрел, есть ли оно, и если есть, работает ли.

Работа в Overlay  в **mkpfs** и **chroot2pfs**

1) mk_unionfs подготавливает нужные папки в /memory/WORKFS
2) addlayer монтирует нужные слои  в /memory/WORKFS/bundles$N
    И готовит список монтируемых соев - /tmp/LAYERUNION
3) mount_unionfs монтирует Overlay или AUFS в /memory/WORKFS


Т е горячего подключения нет. Только так работает Overlay.
Ну а AUFS то же нормально работает.
В принципе  горячее подключение можно сделать но это только для AUFS и усложнение кода. Нужно ли это ?
Да и с двумя режимами монтирования сложности были.

    mkpfs сделаю chroot2pfs не работает.
    chroot2pfs сделаю то mkpfs не работает.

Оставил один режим монтирования и все наладилось.

PS
И да, у меня uird, если это имеет значение.

Я на uird  и делаю.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 19 Январь 2022, 17:59:53
Мне тема интересна, могу выступить тестером на здешних сборках


В AUFS /memory/changes это просто модуль лежит в /sys/fs/aufs/si_*
В Overlay он у меня лежит в /proc/mounts
Код
grep 'changes' /proc/mounts
/dev/zram1 /memory/changes ext4 rw,relatime,discard 0 0
Наверно поэтому Overlay загружает систему немного быстрее чем AUFS
А с новым aufs-n как будто тормоза какие то сняли с моего нетбука.
Если я не ошибаюсь то это уже сильный довод в пользу Overlay

PS
Если вам это интересно то давайте вместе доделаем.
Новая версия  PFSOV в тестировании. Тогда выложу на днях ее тут.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 19 Январь 2022, 21:28:29
Начал читать написаное выше и разбираться, что к чему.

Что запустилось это здорово, но как у вас с порядком монтирования модулей в Overlay и AUFS ?
С порядком вроде нет проблем, что /proc/mounts, что /var/log/uird.dbg.log показывают одинаковый цифро-буквенный порядок, как и задумано разрабами:
Код
live@roll2110 ~ % sourcelist=$(awk '/loop/ && /bundles/ {print $2}' /proc/mounts) && echo $sourcelist

/memory/bundles/000-kernel-core2-5.16-pf1_64.pfs
/memory/bundles/001-prar-2110-sf07.pfs
/memory/bundles/001-prar-2110-sf07_DEV.pfs
/memory/bundles/030-qt5-5.15.2-2110-sf01.pfs
/memory/bundles/040-de-ovs-gtk3-2110-sf05.pfs
/memory/bundles/083-firefox-profile_any-kr01.pfs
/memory/bundles/icu-69.1-2110-sf01.pfs
/memory/bundles/zsh-5.8-1+grml-zsh-config.pfs
/memory/bundles/SOFT-2110-kr02.pfs
/memory/bundles/firefox-bin-gtk3-p-96.0.1_64-kr01.pfs
/memory/bundles/netsurf-gtk3-3.9~4953-1.fc31_64-kr1.pfs
/memory/bundles/torrserverM109+ptv-server3.16.0_64-kr03.pfs
/memory/bundles/trans-pra03-yad-urxvt-kn07.pfs
/memory/bundles/yt-dlp-bin-kr02.pfs
/memory/bundles/089-upd-2110-sf32.pfs
/memory/bundles/090-changes-03.03.21.pfs


live@roll2110 ~ % cat /var/log/uird.dbg.log | grep '/memory/layer-base'   

  --> /memory/layer-base/0/base/000-kernel-core2-5.16-pf1_64.pfs
  --> /memory/layer-base/0/base/001-prar-2110-sf07.pfs
  --> /memory/layer-base/0/base/001-prar-2110-sf07_DEV.pfs
  --> /memory/layer-base/0/base/030-qt5-5.15.2-2110-sf01.pfs
  --> /memory/layer-base/0/base/040-de-ovs-gtk3-2110-sf05.pfs
  --> /memory/layer-base/0/base/083-firefox-profile_any-kr01.pfs
  --> /memory/layer-base/0/base/icu-69.1-2110-sf01.pfs
  --> /memory/layer-base/0/base/zsh-5.8-1+grml-zsh-config.pfs
  --> /memory/layer-base/0/modules/SOFT-2110-kr02.pfs
  --> /memory/layer-base/0/modules/firefox-bin-gtk3-p-96.0.1_64-kr01.pfs
  --> /memory/layer-base/0/modules/soft/netsurf-gtk3-3.9~4953-1.fc31_64-kr1.pfs
  --> /memory/layer-base/0/modules/soft/torrserverM109+ptv-server3.16.0_64-kr03.pfs
  --> /memory/layer-base/0/modules/soft/trans-pra03-yad-urxvt-kn07.pfs
  --> /memory/layer-base/0/modules/soft/yt-dlp-bin-kr02.pfs
  --> /memory/layer-base/0/rootcopy [CP mode]
  --> /memory/layer-base/1/base/089-upd-2110-sf32.pfs
  --> /memory/layer-base/1/base/090-changes-03.03.21.pfs


Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 19 Январь 2022, 21:38:10
И так я не понял что там за проблема в Papirus с нумерацией ? Пронумеровал модули и сборка работает.
Мне в принципе несложно пронумеровать по любому, моя сборка сильно отличается от базового iso. В ней по сути, только /base взято как есть, остальные модули полностью свои. Но я еще тогда не понимал, в чем камень преткновения с нумерацией наших модулей.
sourcelist=$(awk '/loop/ && /bundles/ {print $2}' /proc/mounts)

 Но,  увы, вывод показывает очерёдность монтирования, а не порядок слоёв.
Загвоздка в слоях, которые отличаются от порядка монтирования? Но где нам это может быть важно? Т.е. любой отключенный и заново подключенный модуль (на горячую) должен встать на свое место в слое?

Так то я еще по aufs привык, если подключаю DEVX*.pfs для компиляции, то он монтируется в верхний слой, после завершения я его отключаю. Если нужно обновить firefox, то отключаю firefox.pfs, пересобираю, потом подключаю и он тоже оказывается в верхнем слое до перезагрузки. И это ничего не ломает в системе.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 19 Январь 2022, 22:04:50
Не использую автоматизированное сохранение. Сохраненка в виде 090-changes*.pfs лежит на другом разделе в UIRD/base. При необходимости добавляю файлы в нее ручками. Если надо что-то проверить и как временное сохранение, использую папку /rootcopy.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 19 Январь 2022, 22:56:02
Вообщем, как уже писал выше, я с 12.12.21 на overlay. В uird он работает из коробки с uird.union=overlay.
В какой-то момент обнаружил, что не создаются модули привычным гуи pfs-mk, поэтому накатил утилиты из PFSOV.pfs. Осталось добавить горячее подключение, которого нет, как я понял. :)
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 19 Январь 2022, 23:00:37
Т е горячего подключения нет. Только так работает Overlay.
Ну а AUFS то же нормально работает.
В принципе  горячее подключение можно сделать но это только для AUFS и усложнение кода. Нужно ли это ?
Может мы по разному понимаем выражение "горячее подключение", т.к. в aufs оно и так из коробки?

Есть у меня, например, модуль DEVX-2110-sf07.pfs, где упаковано все что требуется для компиляции и т.д. Модуль большой и по умолчанию не подключен. Вот возможность подключить его в верхний слой, а по окончании работ отключить, и есть "горячее подключение". Во всяком случае, для меня это так. В overlay оно не работает, по умолчанию.

В overlay оно не работает, по умолчанию.
После pfsload DEVX-2110-sf07.pfs, появляется запись /memory/bundles/DEVX-2110-sf07.pfs, но команда make из этого модуля, не выполняется.
После же pfsunload DEVX-2110-sf07.pfs, пишет что модуль не был монтирован.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 20 Январь 2022, 10:36:28
я с 12.12.21 на overlay
в чем практический смысл перехода?
Overlay загружает систему немного быстрее чем AUFS
Можно подробнее? Только загружается или и работает быстрее? Как мерили?

Если это действительно так и не на 1 сек - в теории можно сделать 2в1 :загрузку базовых модулей через overlay , а потом использовать это как слой aufs - т.е. поверх этой составной базы aufs подключать - отключать модули
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 20 Январь 2022, 21:25:27
С порядком вроде нет проблем, что /proc/mounts, что /var/log/uird.dbg.log показывают одинаковый цифро-буквенный порядок,

Запускал я сборку от Papirus. Там папка base была вроде пронумерована и это должна быть система. Не пронумерована папка modules, и как я понял, это больше  связано с железом.
И это вроде не так страшно и разбирательство порядка загрузки слоев можно отложить.
А можно ли скачать вашу сборку.  Если что то тестировать то лучше использовать что то одно.

Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 20 Январь 2022, 21:40:50
Может мы по разному понимаем выражение "горячее подключение", т.к. в aufs оно и так из коробки?

Как я понимаю горячее подключение.

-  подготавливаются нужные папки в **/memory/WORKFS** и стартует пустой AUFS
-  addlayer находит и монтирует  слой за слоем в ~/bundles$N**
    И  добавляет слои в  запущенный пустой AUFS командой mount -o remount
    Если будет допустим 100 слоев то это 100 перемонтирований образа

Теперь как организовано у меня

1) mk_unionfs подготавливает нужные папки в /memory/WORKFS
2) addlayer монтирует нужные слои  в /memory/WORKFS/bundles$N
    И готовит список монтируемых соев - **/tmp/LAYERUNION**
3) mount_unionfs монтирует все слои в Overlay или AUFS в /memory/WORKFS
   Если это будет 100 слоев то и в Overlay или в  AUFS все смонтируется за один раз
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 20 Январь 2022, 21:47:23
Можно подробнее? Только загружается или и работает быстрее? Как мерили?

Просто при загрузке системы, когда запускал Overlay или AUFS, я это заметил
AUFS демонстрирует то же достойную загрузку но Overlay чуть быстрее.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 21 Январь 2022, 05:19:28
Если это действительно так и не на 1 сек - в теории можно сделать 2в1 :загрузку базовых модулей через overlay , а потом использовать это как слой aufs - т.е. поверх этой составной базы aufs подключать - отключать модули
Тоже была такая мысль. Решил, что это оверинжиниринг.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 21 Январь 2022, 08:25:57
при загрузке системы, когда запускал Overlay или AUFS, я это заметил
AUFS демонстрирует то же достойную загрузку но Overlay чуть быстрее.
Проверил. У меня одинаково

Про горячую overlayfs загрузку. Вроде уже высказывал эту идею. Запускать каждую прогу в своем chroot2pfs, составленном из тех же модулей, что и загруженная система.
Возможно, будет жрать немного больше памяти, т.к. например gtk3 либы будут загружены в каждом чруте. Тут как раз uksmd должен помочь
Цитата
попытка (https://www.opennet.ru/opennews/art.shtml?num=56473) совмещения технологий Puppy Linux с использованием контейнерной изоляции для запуска компонентов системы. Каждое приложение, а также сам рабочий стол, могут быть запущены в отдельных контейнерах, для изоляции которых используется собственных механизм Easy Containers
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 21 Январь 2022, 22:38:53
Обновил первую страницу - https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662

Основное работает. Особенно chroot2pfs
Добавил опцию -db (debug)
Перед финальной паковкой модуля работа прерывается и появляется chroot-терминал (Konsole или QTerminal)
Тут можно проверить работу образа или обновить его. Уже обновил свою систему.
Так и работает мой chroot2xzm. Но chroot2pfs монтирует все модули. А мне надо не все.
Пробовал обновить Lubuntu 20.10 и обновление не удалось. Помешал  мой магос-модуль.

PS
Но горячего подключения тут нет в том числе и для AUFS.
Попробуйте хоть один раз.
Все работает
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 22 Январь 2022, 00:05:52
А можно ли скачать вашу сборку.  Если что то тестировать то лучше использовать что то одно.
Моя сборка слишком узкоспециализирована под железо. Ядро под проц, пакеты собранные с --native...
##############################################


Подготовил для скачивания на базе дефолтной prar21.10-x86_64-04.iso. Ссылка prar21.10-x86_64-04-OVERLAY.iso (https://file.puppyrus.org/users/pra64/pfs-portable-test/iso-overlay-test/prar21.10-x86_64-04-OVERLAY.iso), хеш 189020197150aed39df861c1798f323e.

Что сделал:
- Отредактировал menu.lst, оставив только uird, чтобы не путаться.
- Переименовал папку prar2110 в prar2110-overlay, чтобы не было пересечений с моей системой.
- Из DE оставил только de-ols. Убрал 2 модуля, относящиеся к full - 070-prar-full, pamac-aur.
- Выключил некоторые приложения из автозагрузки, добавив в /rootcopy/home/live/.config/autostart
- Некоторые настройки перенес в UIRD/lfa.ini. Они в самом конце файла, после ### Мои настройки. Это pfs.cfg и 99-sysctl.conf. Хотел и автозагрузку там прописать, но что-то 'забарахлило', в итоге закомментировал.
- Перенес 089-upd-2110-sf35.pfs из /base в /UIRD/base, т.к. он должен быть в верхнем слое, по задумке разработчика (sfs).
- В папку /optional добавил DEVX, pkg. Первый нужен для компиляции, второй - это синхронизированные базы реп и пакетов.

- Закинул содержимое PFSOV.pfs в /rootcopy/usr/local/bin
- Добавил pfs-filtr в /toxzm/filtres/
- Добавил mhddfs в /modules/soft/


##################################################

Если возникнет потребность создать модуль, есть команда "sudo pacman2pfs пакет". Она создаст папку в текущей директории, которую уже можно упаковывать с mkpfs. Но перед этим подключить модуль с базами /optional/pkg*.pfs.


1. Сборку можно использовать в виде iso в вирте. Если надо ее отредактировать, то после запустить "sudo ./iso-make-hybrid.sh" в корне iso, для пересборки. Требуется mkisofs, который я положил в /modules/soft.
2. Или, можно распаковать iso на флешку. И сделать загрузочной, выполнив:   
/boot/grub4dos/install/linux/ext4/bootlace.com /dev/sdb


Порядок загрузки:
Код
$ grep /memory/layer-base/ uird.dbg.log

/memory/layer-base/0/base/000-kernel-5.16.0-pf1-mg2_64.pfs
/memory/layer-base/0/base/000-net-kernel-5.16.0-pf1-mg2_64.pfs
/memory/layer-base/0/base/001-prar-2110-sf07.pfs
/memory/layer-base/0/base/001-prar-2110-sf07_DEV.pfs
/memory/layer-base/0/base/030-qt5-noicu-5.15.2-2110-sf02.pfs
/memory/layer-base/0/base/040-de-ovs-gtk3-2110-sf05.pfs
/memory/layer-base/0/base/083-chrome-profile-sf23.pfs
/memory/layer-base/0/modules/celluloid-0.21-2110-sf03.pfs
/memory/layer-base/0/modules/connman-1.40-2110-sf03.pfs
/memory/layer-base/0/modules/evince-gtk3-p-3.26.0_64-sf06.pfs
/memory/layer-base/0/modules/google-chrome-gtk3-p-97.0.4692.71_64-au01.pfs
/memory/layer-base/0/modules/gparted-1.3.1-2110-sf01.pfs
/memory/layer-base/0/modules/gthumb-gtk3-p-3.10.0_64-sf01.pfs
/memory/layer-base/0/modules/linux-firmware-middle-pt-2201_any-sf01.pfs
/memory/layer-base/0/modules/mesa-driver-2110_64-sf01.pfs
/memory/layer-base/0/modules/pra-installer-2021.08-17-any.pfs
/memory/layer-base/0/modules/premote-p_64-sf03.pfs
/memory/layer-base/0/modules/remmina-gtk3-p-1.4.2_64-sf04.pfs
 /memory/layer-base/0/modules/soft/mhddfs-0.1.39-5-2110-kr01.pfs
/memory/layer-base/0/modules/soft/mkisofs-p_64.pfs
/memory/layer-base/0/modules/transmission-sequential-gtk3-p-3.00_64-sf03.pfs
/memory/layer-base/0/modules/usbimager-gtk3-p-1.0.5_64-sf02.pfs
/memory/layer-base/0/modules/vlc-qt5-cel-3.0.16-2110-sf01.pfs
/memory/layer-base/0/modules/youtube-dl-2021.11.10_any-sf01.pfs
/memory/layer-base/0/rootcopy [CP mode]
/memory/layer-base/1/base/089-upd-2110-sf35.pfs
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 22 Январь 2022, 23:41:27
Что то не пошла у меня ваша сборка.
Но скачал prar21.10-x86_64-04 и положил ваши ~/modules/soft.
Видимо не подошел 040-de-ovs-gtk3-2110-sf05.pfs
Запустил родной 040-de-lxqt-gtk3-1.0.0-2110-sf03.pfs, но правда из своей сборки. Но запускал из uird.
Пробовал запускать свой magosm-модуль. Взят из MagOS и он настраивает систему до старта системы. Конечно можно запустить систему, сделать изменения и перегрузиться с сохранением инфы.
Вначале я так и делал но настраивать перед стартом системы удобнее.
Но не хватает пакетов. К примеру при настройке Lubuntu 20.04 я добавил пакеты - https://forum.magos-linux.ru/t/magos-i-ubuntu/63
Но хоть проверил и исправил  скрипты. Теперь точно все работает.
090-PFS-OVL-3- https://forum.puppyrus.org/index.php?topic=23518.msg178662#msg178662

PS

   Добавил опцию -db (debug)
   Перед финальной паковкой модуля работа прерывается и появляется chroot-терминал (Konsole или QTerminal)
   Тут можно проверить работу образа или обновить его. Уже обновил свою систему.
   Но при проверке на prar21.10-x86_64-04  выяснилось что терминал не стартует.
   У меня работает.   Пока закоментировал стр 247.
   Если эта опция интересна, то можно раскоментировать и проверить.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 22 Январь 2022, 23:51:38
Раз у нас разночтения, что называть "горячим подключением", то как называть процесс ручного подключения модуля из /optional после загрузки системы? Т.е. "pfsload модуль" и последующее "pfsunload модуль". Мне в принципе только этого и не хватает, чтобы полноценно использовать overlay.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 23 Январь 2022, 00:00:11
появляется chroot-терминал (Konsole или QTerminal)
на prar21.10-x86_64-04  выяснилось что терминал не стартует.
У нас во всех сборках присутствует urxvt. Но по многочисленным просьбам пользователей, добавлены и другие, более удобные. Запускаются скриптом defaultterminal.
Код
live@roll2110 ~ % cat =defaultterminal
#!/bin/ash
#171019 sfs
if [ "`which lilyterm 2>/dev/null`" ] ;then
[ "`ls -l /usr/bin/urxvt |awk '{print $11}'`" = "lilyterm" ] && (lilyterm -s -H "$@" ) && exit
    (lilyterm -s -H "$@" ) && exit
fi

p="lxterminal qterminal xfce4-terminal roxterm sakura mate-terminal"
#s="sudo -u `sfsusr` "

for i in $p ;do
    if [ "`which $i 2>/dev/null`" ];then
# $s $i "$@" &
${i} "$@" && exit
    fi
done


#[ "" != "`which gsimplecal`" ] && (gsimplecal "$@" &) && exit
#[ "" != "`which zenity`" ] && (zenity --calendar &) && exit
urxvt "$@" &%   


Список хоткеев для запуска основных приложений, посмотреть Super-h. Это браузер, ФМ, терминал, редактор, медиаплеер...
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 23 Январь 2022, 00:32:30
свой magosm-модуль. Взят из MagOS и он настраивает систему до старта системы.
Для нас betcher адаптировал это дело в lfa.ini. В сборке он лежит в UIRD.
- Некоторые настройки перенес в UIRD/lfa.ini. Они в самом конце файла, после ### Мои настройки. Это pfs.cfg и 99-sysctl.conf. Хотел и автозагрузку там прописать, но что-то 'забарахлило', в итоге закомментировал.

Возможности lfa.ini конечно урезаны в сравнении с MagOS.ini.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 23 Январь 2022, 06:43:07
Возможности lfa.ini конечно урезаны в сравнении с MagOS.ini.
Ничего там не урезано, даже наоборот чуть больше возможностей чем в магос. Потому, что парсер из uird. Другое дело, что скриптов нет в системе упрощающих настройку и вместо USER=petya надо писать:
[/tmp/adduser]+x [chroot .]
adduser petya
типа такого.
P.S. Сорри за оффтоп, может вам, krasnyh, как единственному адепту уирда в этом форуме сделать обработку ини для прар? Если возьметесь подробно распишу что и как. Там сложно только в том, что тестируется с перезагрузками, то есть муторно и долго. А сами скрипты простые. Уверен что sfs не откажется добавить десяток текстовых файлов в сборку, а если зайдет прикрутите и к другим инитрд.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 23 Январь 2022, 18:31:07
Вам виднее. Но грузил prar21.10-x86_64-04 с LXQt  и не могу ни выйти из системы ни перегрузиться.
Запустил XFCE и тут хоть перезагрузился нормально. Да и с настройками в XFCE  получше.
В обоих столах менеджер дисплея slim и отсутствует в системе. Поэтому  выхода из системы нет.
Вероятно slim загружается после старта системы но инет я не включал.
Терминал не стартует от root.  А можно ли войти в систему как root ?
 Lubuntu 20.10 в моей сборке  то же в root не входил. Так пришлось sddm править. Теперь у меня все работает.


Название: Re: Overlay для mkpfs
Отправлено: sfs от 23 Январь 2022, 18:51:31
sfs не откажется добавить десяток текстовых файлов в сборку
Без проблем
Название: Re: Overlay для mkpfs
Отправлено: sfs от 23 Январь 2022, 18:57:01
менеджер дисплея slim и отсутствует в системе
Да - у меня везде без DM. Можно killall Xotg и startx
Терминал не стартует от root.
Запустите от юзера и sudo -s
Там еще urxvt есть - который везде запускается
можно ли войти в систему как root ?
killall Xotg и sudo startx - профиль рута не настроен
Lubuntu 20.10 в моей сборке  то же в root не входил
Вроде (https://losst.ru/kak-zajti-pod-root-v-ubuntu) в юбунтах рут по дефолту отключен. Только через sudo
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 23 Январь 2022, 20:27:12
Раз у нас разночтения, что называть "горячим подключением", то как называть процесс ручного подключения модуля из /optional после загрузки системы? Т.е. "pfsload модуль" и последующее "pfsunload модуль". Мне в принципе только этого и не хватает, чтобы полноценно использовать overlay.


1) У меня pfsload монтирует но выдает ошибку
Код
/usr/lib/magos/scripts/pfsload: строка 132: [: слишком много аргументов
Это разбираться надо с aufs-n

2)  pfsunload  нормально отмонтировал модуль
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 23 Январь 2022, 21:03:04
Да - у меня везде без DM. Можно killall Xotg и startx

Тогда надо удалить /etc/systemd/system/display-manager.service  (ссылка на slim)
Я привык что у меня plasma+lxqt  и менеджер дисплэя sddm.
Это как раз есть в Lubuntu и он весит 1.9 Гб
У меня флэшка 16 Гб. Места хватает для трех сборок - Магея8 (3.5 Гб),  Lubuntu (2 Гб), Windows 8  (4 Гб)
И еще место есть. Что за стемление к мимнимализму?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 24 Январь 2022, 03:07:55
Что то не пошла у меня ваша сборка.
Видимо не подошел 040-de-ovs-gtk3-2110-sf05.pfs
грузил prar21.10-x86_64-04 с LXQt  и не могу ни выйти из системы ни перегрузиться.
Запустил XFCE и тут хоть перезагрузился нормально. Да и с настройками в XFCE  получше.
Перепроверил на всякий случай prar21.10-x86_64-04-OVERLAY на реальном железе - грузится с de-ovs.

Но все же пересобрал iso с de-xfce в /base. Убрал de-ovs в /optional. Добавил 090-PFS-OVL-3.pfs в UIRD/base, соответственно убрал pfs-utils из /rootcopy. Плюс добавил busybox в /optional, может он необходим для скриптов, тогда перенести в /base.
Для тестов, чтобы не грузить постоянно всю сборку, можно ограничиться базой, прописав uird.noload+=/modules (аналог base_only в initrd). Загрузятся только модули из /base и UIRD/base. Если интернет не через dhcpcd, то понадобится и /modules/connman-*.pfs перенести в /base. Плюс modules/linux-firmware, возможно.
(Тут уже вопрос к sfs, возможно они изначально должны быть в base, а то начнешь отлаживать систему - интернет пропадет, да и железо не все заработает...)


Скачивание:
По старому адресу (https://file.puppyrus.org/users/pra64/pfs-portable-test/iso-overlay-test) добавил новое prar21.10-x86_64-04-OVERLAY-2.iso (0f579d612e34a96bcae0b7ded4fa3260). Если уже был скачан предыдущий, качаем несколько Mb командой:
Код
$ ./zsync2.AppImage -i prar21.10-x86_64-04-OVERLAY.iso https://file.puppyrus.org/users/pra64/pfs-portable-test/iso-overlay-test/prar21.10-x86_64-04-OVERLAY-2.iso.zsync
Взять здесь, zsync2.AppImage (https://github.com/AppImage/zsync2/releases/download/2.0.0-alpha-1-20220123/zsync2-43-6ac10c3-x86_64.AppImage)
Сделать исполняемым chmod +x zsync2.AppImage


upd. То что автозагрузку выключил через rootcopy/home/live/.config/autostart, в xfce не работает. Т.к. для de-ovs надо прописывать NotShowIn=LXDE; в *.desktop, а в de-xfce - Hidden=true.
Будут теперь постоянно выскакивать менюшки, с предложением обновить браузер. )
Название: Re: Overlay для mkpfs
Отправлено: betcher от 24 Январь 2022, 08:17:57
Без проблем
Осталось уговорить krasnyh )
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 24 Январь 2022, 09:59:37
Раз у нас разночтения, что называть "горячим подключением", то как называть процесс ручного подключения модуля из /optional после загрузки системы? Т.е. "pfsload модуль" и последующее "pfsunload модуль". Мне в принципе только этого и не хватает, чтобы полноценно использовать overlay.

Cделал pfsload  и pfsunload 
Скачать 090-PFS-OVL-4.pfs  -  https://cloud.mail.ru/public/pSSC/QWnvMjqP4

pfsload      - Монтировал сразу  два модуля. Все ок. Монтируется
pfsunload - Работает но отмонтирует модуль только один. Смонтировал два модуля и пришлось их поочередно отмонтировать. Это так и было ранее ?
pfsfind      -  Работает. Хорошая прога. Находит файлы в модулях. Заработала без правок.

Версию поменял.
4.2.1  -  Значит тестировал но ничего не поменял
4.2.2  - Тестировал и внес правки

Другие скрипты нужны. например pfsinfo, pfsrebuild, pfsdepends, pfsuninstall (есть же pfsunload ?)
Протестировать не могу т к трудно мне понять зачем они и что с ними делать. Может их вообще удалить ?
Но просмотрел и вроде  должны работать.

Добавил 090-PFS-OVL-3.pfs в UIRD/base, соответственно убрал pfs-utils из /rootcopy

090-PFS-OVL это же не все PFS-утилиты, а только измененные или проверенные. Пока ствлю, для удобства тестирования,  вместе с родными
Можно из uird грузиться на родных PFS c опцией в grub -  uird.noload=090
Название: Re: Overlay для mkpfs
Отправлено: sfs от 24 Январь 2022, 13:29:27
Тут уже вопрос к sfs, возможно они изначально должны быть в base, а то начнешь отлаживать систему - интернет пропадет,
В базе есть netctl и мой гуй к нему. Т.е. сеть настраивается и без connman. Поэтому он в /modules
Что за стемление к мимнимализму?
В прар тема "маленький и быстрый" немного подредактирована в стророну "стандартный" , но от минимализма я не отказывался и не отказывался
Я считаю что на фругале многопользовательскую системунужно получать через разный состав модулей и сохраненку. Поэтому DM не нужен. Если вам нужен - сделайте модуль - будет работать
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 24 Январь 2022, 13:52:44
pfsload      - Монтировал сразу  два модуля. Все ок. Монтируется
Проверил с 090-PFS-OVL-4.pfs. После pfsload, должно быть подключение в верхний слой и соответственно подключенная прога должна запускаться. Сейчас этого нет. Проверить, например, с busybox, который я положил в /optional -  pfsload busybox.

В сборке, что я выложил, ядро с aufs. Можно проверить с ним как должно работать, убрав uird.unit=overlay и прописав uird.noload=090.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 25 Январь 2022, 09:19:52
 Пока сделал копирование в стр 138 в pfsload смонтированного модуля в корень системы
Код
 [ "$unionfs" = 'overlay' ] &&  cp -Rn ${mountpoint}/*  /
Теперь в pfsload модуль монтируется и попадает в систему. Но если модуль большой то это займет время
В pfsunload можно сделать  удаление скопированных файлов. но нужно ли это ?
Можно просто перегрузиться
Скачать 090-PFS-OVL-5.pfs  - https://cloud.mail.ru/public/pSSC/QWnvMjqP4

После pfsload, должно быть подключение в верхний слой и соответственно подключенная прога должна запускаться. Сейчас этого нет.

В моей сборке модуль то же просто монтируется и все а в AUFS все ок.
Но в AUFS, кроме монтирования модуля в /memory/bundles еще перезапускаетcя система (опция remount)
В Overlay опция remount видимо не работает.
В PFS я пробовал такой режим :

-    mk_unionfs подготавливает нужные папки в /memory/WORKFS
-    addlayer монтирует нужные слои в /memory/WORKFS/bundles$N
    И добавляет слои в список - /tmp/LAYERUNION
 -   И каждый раз монтируется Overlay в addlayer с новым списком из  /tmp/LAYERUNION в /memory/WORKFS

Все работало.
Надо как то  перезапустить Overlay
Из системы я пытался сделать :
Код
   LOWER_DIRS=$(cat /proc/mounts| grep "/dev/loop")     #Список модулей
    mount -t overlay -o redirect_dir=on,metacopy=off,index=on,lowerdir=${LOWER_DIRS},upperdir=/memory/ovl/changes,workdir=/memory/ovl/workdir overlay  /

Естественно ничего не вышло. Думал система зависнет а она только поругалась на меня и все.
Но Overlay готовила UIRD и видимо надо это делать из среды UIRD
UIRD в системе присутствует в /run/initramfs
И вероятно надо надо в chroot зайти на /run/initramfs и запустить команду монтирования Overlay
Но как это сделать и можно ли это сделать я пока не знаю.
Ну а пока сделал копирование в стр 138 в pfsload смонтированного модуля в корень системы.


PS
У меня получилось что копирование в корень  это единственный вариант.
Проверял запуском
Код
chroot2pfs -db
Собирается копия системы и запускается chroot-терминал. И в /memory/WORKFS/1 можно безопасно экспериментировать
Но в 090-PFS-OVL надо раскоментировать и  решить проблему запуска chroot-терминала (стр 247 в chroot2pfs)
А то в PuppyRus разные DE и разные терминалы.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 25 Январь 2022, 11:39:39
Распаковка модуля в систему и затем пофайловое удаление уже есть:
pfsextract -i
pfsuninstall
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 25 Январь 2022, 14:36:25
В pfsunload можно сделать  удаление скопированных файлов. но нужно ли это ?
Можно просто перегрузиться
Похоже вот в этом и есть принципиальное различие MagOS/MagOSM от PRA. У вас все изначально включено в сборку, вплоть до утилит компиляции. У нас же, в сборке только необходимый минимум, все остальное можно подключать по необходимости, уже после загрузки системы - DEVX (компиляция), дополнительные браузеры....  А после работы с ними - отключить.

Вот поэтому для PRA и важна работа утилит pfsload/pfsunload, без перезагрузки системы. Вот это я и называю "горячим подключением", именно к этому я привык с aufs и считаю очень удобным и хотел бы видеть и в overlay.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 25 Январь 2022, 19:14:13
Цитата: betcher link=topic=23518.msg182377#m=sg182377 date=1643099979
Распаковка модуля в систему и затем пофайловое удаление уже есть:
pfsextract -i
pfsuninstall

Спасибо за помощь.
Сделал. Теперь в Ovarlay pfsload и pfsunload работают. Ну хотя бы так.
Скачать   090-PFS-OVL-6.pfs   -    https://cloud.mail.ru/public/pSSC/QWnvMjqP4

UIRD в системе присутствует в /run/initramfs
И вероятно надо надо в chroot зайти на /run/initramfs и запустить команду монтирования Overlay
Но как это сделать и можно ли это сделать я пока не знаю.

А  можно ли запустить  команду монтирования системного  Overlay из /run/initramfs ?
Было бы вообще хорошо.
Теперь  pfsload довольно быстро загружает модуль, но pfsunload, если модуль большой,  будет долго искать и удалять файлы.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 25 Январь 2022, 19:30:49
У нас же, в сборке только необходимый минимум, все остальное можно подключать по необходимости, уже после загрузки системы - DEVX (компиляция), дополнительные браузеры....  А после работы с ними - отключить.

Подключение дополнительных приложений в виде модулей или это самому надо делать модуль из пакетов ?
Название: Re: Overlay для mkpfs
Отправлено: sfs от 25 Январь 2022, 20:35:16
Есть готовые модули. Лежат в репах :
Код
# cat /etc/sfs-get/www.list 
mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable
mirror.yandex.ru/puppyrus/roll/2110/pfs
К ней есть самодельный (на yad и gtkdialog) GUI (sfs-get) для горячего ауфс подключения. В основном оптимизированные (перекомпилены с уменьшением лишних для домашнего использования зависимостей и функционала). Они портированы в /opt чтобы юзать почти в любом линуксе не мешая его /lib
Немного модулей полностью из арч пакетов. Такое легко сделать и самому : pacman2pfs
Арч - роллинг релиз. Поэтому репа у нас заморожена на 2010 число. Чтобы версии пакетов не разбежались
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 25 Январь 2022, 21:19:33
Странный баг был в pfsload у меня на AUFS.
Модуль монтировался но выдавал ошибку. Записал по другому условие и сейчас все ок !
Скачать снова    090-PFS-OVL-6.pfs   -    https://cloud.mail.ru/public/pSSC/QWnvMjqP4
Отмечу что pfsunload в AUFS удаляет то что смонтировал. Все временные файлы остаются.
В Overlaj сейчас остаются пустые папки а все файлы удалены. Что вроде даже лучше.
Это надо корректировать условие поиска, тогда pfsload должен в Overlaj все удалять.

Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 25 Январь 2022, 23:44:22
Подключение дополнительных приложений в виде модулей или это самому надо делать модуль из пакетов ?
Как и было сказано выше, можно создавать с "pacman2pfs пакет", а можно скачивать готовые командой "sfs-get модуль" из наших реп.

Можно предварительно посмотреть список всех модулей прямо в sfs-get, нажав кнопку выделенную на скрине, развернув список с Alt-v и поискать через Ctrl-f/Ctrl-g.

Хоткей sfs-get  Super-s.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 26 Январь 2022, 00:28:46
Сделал. Теперь в Ovarlay pfsload и pfsunload работают. Ну хотя бы так.
Скачать   090-PFS-OVL-6.pfs
Проверил на DEVX из /optional. Подключается с pfsload, утилита make появляется в системе и запускается (make -v). При выполнении pfsunload, модуль DEVX не отключается.

Скрины.

Правда DEVX является составным модулем, может тоже влияет:
Цитата
$ pfsinfo DEVX-2110-sf07.pfs
001-prar-2110-sf07_DEV
asp-7-1-any
dkms-2.8.6-2
xmlto-0.0.28-4
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 26 Январь 2022, 01:04:27
Правда DEVX является составным модулем, может тоже влияет:
Да, проверил на односоставном модуле, подключается и отключается. Это уже прорыв для overlay. )
Скрин.


p.s. Запускал youtube-dl*.pfs из папки /modules, которая не грузилась, т.к. было прописано uird.noload+=/modules. Это чтобы вопросов не возникло.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 26 Январь 2022, 03:57:33
А  можно ли запустить  команду монтирования системного  Overlay из /run/initramfs
Это просто урезанная копия уирд, нужна уирду для toxzm, ее создание включается uird.shutdown. Можно юзать для корректного размонтирования всех фс.
То есть ни чем не отличается от любой папки если туда распаковать uird.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 26 Январь 2022, 06:57:41
Правда DEVX является составным модулем, может тоже влияет:

Просто pfsunload отключает только один модуль.
А pfsload может подключать, как минимум, два модуля и копирует то же два
Но переменную $1 все же вроде надо поменять  (стр 139 в pfsload)
Код
pfsextract -i "$1"
Пока сервис одно модульный. Разбираться еще надо как тут два модуля удалить.
А DEVX у вас удаляется из AUFS  в pfsunload ?
А как это составной модуль ?
Возможно состоит из двух модулей. Что то непонятен смысл создания такого модуля.
И не связан ли составной модуль с режимом extract_contaner в pfsextract ?
Режим extract_contaner  у меня заблокирован стр 215 в pfsextract .
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 26 Январь 2022, 15:30:42
pfs-utils. Утилиты для работы с модулями squashfs. Версия 4 (https://wiki.puppyrus.org/puppyrus/pr218/pfs4)

Цитата
mkpfs

Использование:
    mkpfs - создаст .pfs из текущего каталога
    mkpfs /catalog - создаст .pfs из каталога «/catalog».
    mkpfs -d /catalog - создаст составной.pfs из каталогов внутри «/catalog».
    mkpfs -m /catalog - создаст составной.pfs из .pfs внутри «/catalog». Вложенные в «/catalog» каталоги не просматриваются.
    mkpfs /path/1.pfs /path2/2.pfs /path3/3.pfs -o contaner.pfs - создаст составной.pfs из перечисленных с именем contaner.pfs

Цитата
pfsextract

    Составной модуль разбирает (извлекает отдельные pfs из составного модуля .pfs).
    Не составной - распаковывает


Зачем нужны составные модули? Сейчас уже не скажу определенно, более того, в своей сборке не использую (кроме тех, что беру уже готовыми из iso).

Но по началу казалось что это что-то сверхудобное и нужное, типа если все модули состоят из подмодулей, то можно отцеплять неиспользуемое, комбинируя сборку под свой вкус или пересобирать отдельный модуль на новую версию, а затем опять цеплять к общему модулю.
(Плюс там еще и важный аспект использования памяти. Подсчитано было, что на каждый отдельный модуль расходуется около 4mb ram и экономичней сделать один сложносоставной модуль, чем, например, 100 отдельных.)

А по факту, мне проще собирать монолитный модуль со своими приложениями по списку пакетов, командой "sudo pacman2pfs $(cat мои_пакеты.txt)"


UPD. Но sfs активно использует составные модули:
Код
live@roll2110 ..ar21.10-x86_64-04.iso/prar2110/modules % for i in *.pfs ; do print $i && pfsinfo $i && echo '   ' ; done                            
030-qt5-noicu-5.15.2-2110-sf02.pfs
   
070-prar-full-2110-sf03.pfs
btrfs-progs-5.14.1-1-x86_64
efibootmgr-17-2
gptfdisk-1.0.8-1
mkinitcpio-rootaufs2-2021.12-10-any
mkinitcpio-setfont-2018.12-15-any
uird-busybox-r631.af65409-1-x86_64
uird-dracut-r631.af65409-1-x86_64
uird-r631.af65409-1-any
   
083-chrome-profile-sf23.pfs
   
celluloid-0.21-2110-sf03.pfs
celluloid-0.21-2110-sf01
mpv-1_0.34.0-2-x86_64
z-mpv
   
connman-1.40-2110-sf03.pfs
cmst-2020.11.01-1-x86_64
connman-1.40-1
connman_gtk3-p-1.1.1_64-sf02
z-connm
   
evince-gtk3-p-3.26.0_64-sf06.pfs
   
google-chrome-gtk3-p-97.0.4692.71_64-au01.pfs
   
gparted-1.3.1-2110-sf01.pfs
   
gthumb-gtk3-p-3.10.0_64-sf01.pfs
gthumb-light-p-3.10.0-1-x86_64
sfs-get-dep-gtk3-2018.01-02
   
linux-firmware-middle-pt-2201_any-sf01.pfs
   
mesa-driver-2110_64-sf01.pfs
mesa-driver-2110_64-sf02
vdpauinfo-1.4-1
z-libva-utils-2.12.0-1
   
pamac-aur-10.2.0-2110-sf01.pfs
   
pra-installer-2021.08-17-any.pfs
   
premote-p_64-sf03.pfs
cifs-utils-light-6.10-1
curlftpfs-0.9.2-6
djmount-p-0.71-5-x86_64
dlna-mnt-gui-2018.04-10-any
gtkrdp-2021.10-19-any
premote-2021.10-19-any
rdesktop-light-1.8.6-1-x86_64
rdesktop-light-1.9.0-2-x86_64
sshfs-p-3.3.1-1-x86_64
turbovnc-p-1.1-2
wdfs-p-1.4.2-3-x86_64
z-cifs-utils-6.14-1-x86_64
   
remmina-gtk3-p-1.4.2_64-sf04.pfs
freerdp-light-p-2.0.0_64-sf01
remmina-light-1.4.2-3
   
transmission-sequential-gtk3-p-3.00_64-sf03.pfs
   
usbimager-gtk3-p-1.0.5_64-sf02.pfs
   
vlc-qt5-cel-3.0.16-2110-sf01.pfs
   
youtube-dl-2021.11.10_any-sf01.pfs
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 26 Январь 2022, 16:13:59
Зачем нужны составные модули?
Так обновлять удобнее.
Стоп. А как ты понимаешь "составной модуль"? У меня это модуль из нескольких пакетов, с отдельными списками файлов (pfs.files).
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 26 Январь 2022, 16:18:01
Правильно делает.
Да кто ж спорит. ) Я это к тому, что при настройке pfs-iutils под overlay, надо учитывать наличие составных модулей. Не взирая на мое мнение.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 26 Январь 2022, 16:23:13
под overlay
По моему этот ваш overlayfs ещё не дорос до практического использования. Да и не дорастёт (ИМХО)
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 26 Январь 2022, 16:39:53
 Перезагрузился в overlayfs. Внешне никакой разницы, но, примонтировать сходу каталог с DEVX не могу, и sda1, где все системы находятся, отмонтировать не могу. DEVX он конечно не для простого пользователя, но примонтированный "системный" диск даёт юзеру идеальную возможность накосячить, удалив что-нибудь.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 26 Январь 2022, 22:22:03
Недьзя примонтировть каталог с DEVX  это из системы или из pfsload ?
Если из pfsload то попробуйти скачать  090-PFS-OVL-7.pfs -  https://cloud.mail.ru/public/pSSC/QWnvMjqP4 
Теперь pfsload и pfsunload могут загрузить или выгрузить 4 модуля, заданных в одной комнде
Код
pfsload  mod1 mod2 mod3 mod4
Тестировал на трех модулях.

PS
Скачал DEVX-2110-sf07.pfs и он у меня в сборке даже не распаковывается ?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 27 Январь 2022, 02:32:11
В принципе, раз pfsload/pfsunload уже работают для монолитных модулей, а я все равно не использую составные, то для меня результат удовлетворительный.

А DEVX я перепакую в монолит. Те составные, что взяты из форумного iso и лежат в /base я, естественно, не отключаю на горячую.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 27 Январь 2022, 05:25:28
В итоге чем pfsload/pfsunload для overlay отличается от pfsextract.-i и pfsuninstall?
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 27 Январь 2022, 08:35:24
попробуйти скачать  090-PFS-OVL-7.pfs
Извините, но у меня своя система (Richy64), и там это не прокатит. Overlayfs у меня давно прикручена, но не пользуюсь по причине её ущербности. Это тупик ребята. Впрочем, если вам интересно, продолжайте.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 27 Январь 2022, 08:56:36
Изначально pfsload монтирует модуль в систему  а pfsextract.-i только распаковывает модуль
Соответственно pfsunload отмонтирует модуль  а pfsuninstall только удалит модуль из системы
С составными модулями сложнее. Пробовал у себя рспаковать DEVX-2110-sf07.pfs
pfsextract /memory/layer-base/0/optional/DEVX-2110-sf07.pfs -o /usr/local/xx
Filesystem uses unknown compression, this is unsupported by this version
Decompressors available:
        gzip
        lzma
        lzo
        lz4
        xz
Filesystem uses unknown compression, this is unsupported by this version
Decompressors available:
        gzip
        lzma
        lzo
        lz4
        xz
Filesystem uses unknown compression, this is unsupported by this version
Decompressors available:
        gzip
        lzma
        lzo
        lz4
        xz
Unsquashfs error

Т е pfsextract.-i не может распаковать модуль в систему т к не знает формат составного модуля
Не было заботы и что за мудреный формат ? 

                                            Правка pfsload из 090-PFS-OVL-7.pfs

Составной модуль 090-PFS-OVL-7.pfs не может распаковаться в систему  командой pfsextract.-i
Но зато его можно смонтировать а потом скопировать в систему :

Стр 145 из pfsload из 090-PFS-OVL-7.pfs
Код
pfsextract -i $fsfile
Заменить на
Код
cp -Rn $mountpoint/* /

Все !  Модуль 090-PFS-OVL-7.pfs в моей сборке скопировался из /memory/bundles
Правда задал я копировать не в корень а в свободную папку. Иначе бы у меня система слетела.

PS
Но это не все.
Неожиданно выяснил что pfsuninstall из pfsunload (стр 117) не чистит систему.
Т е получается что не работает pfsuninstall без pfsextract.-i
И хорошо бы  сервисы pfsload и  pfsextract, а также pfsunload  и  pfsuninstall объединить и было бы два сервиса
Название: Re: Overlay для mkpfs
Отправлено: betcher от 27 Январь 2022, 09:29:32
Т е pfsextract.-i не может распаковать модуль в систему т к не знает формат составного модуля
Не было заботы и что за мудреный формат ? 

Pfsextract может распаковать как простой модуль так и составной модуль, а также может распаковать только подмодуль составного модуля. Если это не работает - надо чинить.

И хорошо бы  сервисы pfsload и  pfsextract, а также pfsunload  и  pfsuninstall объединить и было бы два сервиса

Не нужно этого делать ибо это совершенно разные вещи. Вы получите путаницу, пользователь будет предполагать монтирование, а вы хотите подсунуть вместно него распаковку. Вариант распаковки уже есть в утилитах, и если не работает с оверлеем чините, пожалуйста там.

Т е получается что не работает pfsuninstall без pfsextract.-i
Конечно нет. Удаление файлов осуществляется по спискам которые создает pfsextract.

Посмотрите код selftest там есть все основные примеры работы утилит.



Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 27 Январь 2022, 11:24:16
    Т е pfsextract.-i не может распаковать модуль в систему т к не знает формат составного модуля
Я этого не писал. Аккуратнее с цитированием.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 27 Январь 2022, 11:32:20
Я этого не писал. Аккуратнее с цитированием.
Не вам конечно, не знаю как такое вышло. Делал как обычно, выделял и жал "цитировать (выделенное)" )))

P.S. Исправил.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 27 Январь 2022, 11:38:53
Бывает.
Смешно, но пишу сейчас загрузив Qimo-2.0 (ядро 2.6.32-21-generic, livesd, firefox 3.6.3). Перебираю старые диски, ностальгирую.....
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 27 Январь 2022, 12:56:52
                                                        090-PFS-OVL-8.pfs
                                               Скачать - https://cloud.mail.ru/public/pSSC/QWnvMjqP4

pfsload
   В Overlay копирует смонтированный модуль из /memory/bundles
   Составной модуль или нет это уже не должно иметь значения и не зависит от дистрибутива.
   В Магее 8 например DEVX-2110-sf07.pfs не распаковывается и вероятно нет нужного формата.

pfsunload
   В Overlay  удаляет файлы из системы командами :
Код
pfsextract -i -fl $fsfile
pfsuninstall $fsfile 2>/dev/null

  В pfsextract  добавил опцию -fl
  Вместе с опцией  -i это создание листинга файлов модуля в /etc/packages без распаковки модуля в корень системы.
   Без этого листинга pfsuninstall ничего не удалит
   И опций у нее нет :
Код
# pfsuninstall  --help
Usage:
/usr/lib/magos/scripts/pfsuninstall <submodule>

Название: Re: Overlay для mkpfs
Отправлено: betcher от 27 Январь 2022, 13:04:15
Я не понимаю почему pfsload должен дублировать pfsextract. В таком виде я не думаю что стоит мержить в основную ветку. Создаете путаницу. Надо сделать чтобы pfsextract-i и pfsuninstall работали с оверлеем. Pfsload это про монтирование, пока оверлей не научат монтировать нагорячую новые слои не нужно ничего пихать в pfsload. Разве что добавить предупреждение - "загружено с оверлеем юзайте pfsextract -i"
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 27 Январь 2022, 13:30:17
Может добавить в pfsextract , например опцию -b  (bundles)
Код
pfsextract  -i -b  modul
Это если модуль смонтирован в /memory/bundles то копировать из смонтированного образа модуля.
Попутно и листинг файлов модуля в /etc/packages появится
Название: Re: Overlay для mkpfs
Отправлено: betcher от 27 Январь 2022, 13:52:55
Это если модуль смонтирован в /memory/bundles то копировать из смонтированного образа модуля
Листинг там и так создается, если нет - надо чинить А как случилось что модуль у вас уже смонтирован в bundles? Чем не пойму суть затеи.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 27 Январь 2022, 17:06:29
Его смонтировал в bundles pfsload и он этим и занимается, но в Overlay он в систему не попадает и приходится копировать.
Для того что бы в Overlay модуль попал в систему надо провести новое монтирование Overlay. В AUFS это опция remount.
Но это равнозначно перезапуску системы и делать это, на мой взгляд, опасно.
Даже если из chroot-терминала в /run/initramfs новое монтирование Overlay пройдет успешно то как можно доверять такой системе.
Запуск системного Overlay или Aufs это ведь только начало запуска системы. А если модуль системный и настраивается при загрузке?
Уж чего проще. Положил модуль в системную папку и перезагрузился. Я так и работаю
Но вероятно, если знаешь что делаешь и знаком с работой системы, это можно делать.

Листинг там и так создается, если нет - надо чинить

Листинг создается в pfsextract  А pfsuninstall никаких листингов не делает.
Видимо это и не надо, т к если не было pfsextract то и pfsuninstall запускать не надо.
Но нет и блокировки работы и вывода сообщения если листинг отсутствует и вот это надо делать.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 27 Январь 2022, 19:42:09
Его смонтировал в bundles pfsload и он этим и занимается,
Так вот и не надо использовать pfsload c оверлеем раз монтировать на сегодняшний момент невозможно. А вот допилить pfsextract -i для оверлея - возможно вполне, и это и надо сделать.


Листинг создается в pfsextract  А pfsuninstall никаких листингов не делает.
С ключем -i списки файлов должны создаваться, эти списки использует pfsuninstall при отключении модуля, тупо удаляет файлы по списку.  Все это мало тестировалось потому, что с ауфс не  востребовано. Вот это и надо чинить и допиливать чтоб работало одинаково с обеими фс. А pfsload пока нет смысла править под оверлей.

Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 27 Январь 2022, 21:37:49
А вот допилить pfsextract -i для оверлея - возможно вполне, и это и надо сделать.

pfsextract для простых модулей работает в Overlay
Составные  у меня не распаковывются в pfsextract. Это в системе нет нужного формата распаковки и лечить вероятно нало систему.


А pfsload пока нет смысла править под оверлей.

Сделал что pfsload только монтирует а распаковывает pfsextract
Может добавить в pfsextract , например опцию -b  (bundles)
Код

pfsextract  -i -b  modul

Это если модуль смонтирован в /memory/bundles то копировать из смонтированного образа модуля.

Так что все соблюдено. Распковывет pfsextract
Сейчс этот вариант пока в тестировании.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 27 Январь 2022, 21:47:33
Составные  у меня не распаковывются в pfsextract. Это в системе нет нужного формата распаковки и лечить вероятно нало систему.
Код
$ unsquashfs -s DEVX-2110-sf07.pfs | grep Compression
Compression zstd
Не умеет zstd распаковывать? В PRAR2110 большие модули сжаты с zstd, маленькие - остались с xz, чтобы сэкономить на спичках. ) Видно sfs далек от золотого принципа - безобразно, но однообразно.)
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 27 Январь 2022, 23:03:31
pfsunload - Работает но отмонтирует модуль только один. Смонтировал два модуля и пришлось их поочередно отмонтировать. Это так и было ранее ?
Да, так и было. Только отмонтировать проще было не в терминале, а в sfs-get, по одному сверху вниз.
(Поставить чекбокс - показывать постоянно подключенные)

Зачеркнул, чтобы не запутать еще и с гуи утилитами. ) Которых, по мимо sfs-get, еще pfs-mk (mkpfs/mkpfs -m) и mnt_sfs (pfsload/pfsunload; mountfile/umountfile ....). И запускаются которые из контекстного меню ФМ.

но pfsunload, если модуль большой,  будет долго искать и удалять файлы.
Да, долго. На примере большого DEVX, который я перепаковал у себя в монолит:
sudo pfsunload DEVX-2110-kr01.pfs  183,91s user 108,78s system 135% cpu 3:36,18 total


Еще желательно раскомментировать строку в скрипте pfs, я у себя задаю там параметры сжатия:
#[ -f /etc/pfs.cfg ] && . /etc/pfs.cfg
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 28 Январь 2022, 00:50:39
Еще одна особенность, когда в системе и в подключаемом модуле есть одинаковые файлы. После выполнения pfsunload, что-то в системе перестанет работать. Раньше такого не было, но там и принцип выполнения pfsunload был другой, да и overlay не было. )
Код
live@roll2110 /mnt/+mnt+sda3+devx+DEVX-2110-kr01.pfs % sudo find . -name libuv.so.1    
./usr/lib/libuv.so.1   
   
live@roll2110 ~ % sudo find / -name libuv.so.1   
/usr/lib/libuv.so.1 

live@roll2110 ~ % sudo pfsload DEVX-2110-kr01.pfs && sudo pfsunload DEVX-2110-kr01.pfs
live@roll2110 ~ % nvim   
nvim: error while loading shared libraries: libuv.so.1: cannot open shared object file: No such file or directory


p.s. Если у кого-то возник вопрос, почему libuv.so.1 повторно попал в DEVX, при выполнении "pacman2pfs $(cat DEVX.txt)", если он уже был в системе, то ответить на него я не смогу.
Оказывается, libuv была в списке пакетов DEVX.txt, полученных командой "echo $(pfspkg DEVX-2110-sf07.pfs)". Получилось вот такое дублирование, но раньше это никогда не было проблемой.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 28 Январь 2022, 06:54:58
Только отмонтировать проще было не в терминале, а в sfs-get, по одному сверху вниз.
(Поставить чекбокс - показывать постоянно подключенные)
В терминале удобно отмонтировать по номерам из aufs-n.
 
Составные  у меня не распаковывются в pfsextract. Это в системе нет нужного формата распаковки и лечить вероятно нало систему.
Не пойму что за система, или вы составные модули от прар у себя в магее пробуете или в магос? Так не получится, списки в разных папках хранятся.
Так что все соблюдено. Распковывет pfsextract
Сейчс этот вариант пока в тестировании.
Кажется мне, что чтобы нормально прикрутить оверлей надо все переписывать основательно, как в барии сделано, иначе костыль на костыле будет.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 28 Январь 2022, 12:39:18
Пробую я естественно в Магее.
Формат у себя в системе починил. Простые модули в pfsextract  работают а extract_contaner чинить надо
Распаковывал из pfsextract  модуль DEVX-2110-sf07.pfs получилось папка где несколько модулей.  Это что ли прикол такой?
И что дальше ? Распаковывать из pfsextract каждый модуль в отдельности.
Если модуль DEVX-2110-sf07.pfs можно просто смонтировать и скопировать содержимое в корень, то зачем эти выкрутасы.
Если распаковывать из pfsextrac прогой extract_simple то все нормально распаковывается без модульных шуток
Но опции для включения режима extract_simple  нет
Видимо надо сделать, что бы pfsextract -i работал на extract_simple
Кажется мне, что чтобы нормально прикрутить оверлей надо все переписывать основательно, как в барии сделано, иначе костыль на костыле будет.

Так бариия там у вас вроде платная. В смысле нельзя использовать.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 28 Январь 2022, 12:49:19
Еще одна особенность, когда в системе и в подключаемом модуле есть одинаковые файлы. После выполнения pfsunload, что-то в системе перестанет работать.

pfsunload некорректно чистит. И возможно  удаляет нужные папки.
Чинить pfsunload видимо надо.
Устанjовил у себя  из pfsload  модуль 090-PFS-OVL и после чистки из pfsunload удаляется папка /usr/locale/bin
Хотя устанавливал модуль с прогой в /usr/share/uird то тут ничего не удалилось а наоборот пустые папки остались от проги
Но удалил папку /usr/locale/bin из списков для удаления и все ок !
Пока вручную надо смотреть списки в /usr/locale/bin

PS

А вы используете pfsload и pfsunload  для работы или для тестирования нового модуля ?
Сделал режим extract_contaner  в pfsextract  но опция -o не работает
Это так и было или я что то намудрил ?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 28 Январь 2022, 19:19:30
А вы используете pfsload и pfsunload  для работы или для тестирования нового модуля ?
Как я уже писал здесь (https://forum.puppyrus.org/index.php?topic=23518.msg182380#msg182380), это фишка PRA, грузить с системой только необходимое, а редко используемое подключать "на горячую" по необходимости. Отсюда и размер наших сборок в разы меньше, чем MagOS/MagOSM.

1. Например, компилю я может раз в неделю-месяц, а кто-то вообще без этого обходится. Зачем же держать в системе огромный массив спец утилит.
2. Далее, изредка проверяю проблемные сайты на другом браузере, но не грузить же мне его на постоянку...., и т.д. и т.п.
3. Иногда возникает необходимость посмотреть/проверить какое-нибудь приложение. Это или по вопросу на форуме, или в новостях увидел, или просто попалось что-то любопытное. Делаю "pacman2pfs.sh приложение" и кликаю по модулю. Без всякой перезагрузки системы (речь об aufs).

Забыл написать, что "горячее" подключение, подразумевает последующее отключение модуля и тоже без перезагрузки системы.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 28 Январь 2022, 19:37:13
pfsunload некорректно чистит. И возможно  удаляет нужные папки.
Чинить pfsunload видимо надо.
Например, в mkpfs есть параметр save-duplicates, может под подключение/отключение не хватает чего-то похожего.
Цитата
mkpfs --help

  --save-duplicates  при сборке контейнеров сохранять одноименные файлы из разных источников если они отличаются, при распаковке файлы будут возвращены на место
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 29 Январь 2022, 11:35:12
Для режима extract_simple из pfsextract листинг на удаление формирует стр 56
Код
unsquashfs -l "$pfs" |sed 's/squashfs-root//' | grep "^\/.*"	 > ${PFSDIR}/install/$(basename "${pfs%.$EXT}")/pfs.files


Тут надо опции еще раз просмотреть  и если не получится то как то листинг надо будет првить.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 30 Январь 2022, 01:17:54
Напомню о конкурирующих разработках overlay от neko (https://forum.puppyrus.org/index.php?topic=16200.msg176823#msg176823) (porteus) и от fredx181 (https://forum.puppyrus.org/index.php?topic=16200.msg176906#msg176906) (DebianDog).

Времени прошло много, и если у neko я не увидел дальнейшего развития (может там уже совершенство :)), то fredx181 похоже допилил до рабочего состояния.
###################################################


Проверял с DebLive_bookworm-tint2-amd64-UEFI.iso (https://forum.puppylinux.com/viewtopic.php?p=48359&hilit=overlay&i=1) (Jan 29, 2022). В аннотации прописано:
- use of 'overlay' instead of 'aufs' (использование overlay вместо aufs)

Утилиты находятся в Menu - Module Tools
1. Создать любой модуль с AptToSfs, например mc.
2. Подключить/отключить через контекстное меню ФМ - activate/deactivate. Или через гуи "SFS-Load GUI".


Как я понял, у fredx181 подключение двумя разными способами, а-ля tinycore (основной) или через chroot. А у neko, по словам betcher, типа нашего pfsextract -i:
Никаких чудес. Своя реализация pfsextract -i. Лучше нашей в том, что при отключении модуля восстановятся прежние состояния файлов. А вот как у него с пустыми папками дела обстоят - не понял.


UPD.
Времени прошло много, и если у neko я не увидел дальнейшего развития
Или он просто не правил пост в шапке и надо шерстить всю тему. А нет, увидел, вручную прописано в конце первого поста "[updated on 2021.01.14]".
Название: Re: Overlay для mkpfs
Отправлено: betcher от 30 Январь 2022, 07:03:01
А основной и через чрут это как?
Название: Re: Overlay для mkpfs
Отправлено: sfs от 30 Январь 2022, 08:32:46
Как в tinycore - монтируем сквош+делаем на все симлинки в корень системы
chroot - запуск в песочнице с повтором монтирования всех базовых модулей для каждой проги - как в chroot2pfs или easyos (https://www.opennet.ru/opennews/art.shtml?num=56473)
Оба метода ущербные по сравнению с aufs. Надо ждать появления новых в overlay.
Компиляцию ауфс ядер освоили даже для арм.
За что ломаетесь? Почему под ауфс не живется...?
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 30 Январь 2022, 09:16:38
Оба метода ущербные по сравнению с aufs.
За что ломаетесь? Почему под ауфс не живется...?
Вот и я про то же. Зачем прогрессивизм разводить? Новое хреновое, но зато новое?
Название: Re: Overlay для mkpfs
Отправлено: betcher от 30 Январь 2022, 17:30:48
За что ломаетесь? Почему под ауфс не живется...?
Так и не надо ни один из этих методов использовать. Надо чтобы работало с обеими фс все что возможно и работало одинаково. То есть для подключения модулей с оверлеем надо разбираться с распаковкой в корень, то есть pfsextract -i.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 30 Январь 2022, 22:04:01
распаковкой в корень
Если распакорвывать -тогда чем пакеты не устраивают?
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 31 Январь 2022, 06:58:09
Компиляцию ауфс ядер освоили даже для арм.
У меня две  операционки. Основная это Магеиа 8 и Lubuntu 21.10
И в  Lubuntu 21.10 уже нет aufs в ядре. И как мне ее запускать ?
Если самому компилировать ядро, то пробовал и это не так просто и главное что это уже не будет ядро от Lubuntu
Название: Re: Overlay для mkpfs
Отправлено: betcher от 31 Январь 2022, 08:05:22
Если распакорвывать -тогда чем пакеты не устраивают?
Не утрируйте ). На холодную то оверлей умеет.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 31 Январь 2022, 08:37:04
Утилиты находятся в Menu - Module Tools

А где находятся утилиты в системе у  fredx181 (DebianDog) ?
Название: Re: Overlay для mkpfs
Отправлено: sfs от 31 Январь 2022, 09:36:58
как мне ее запускать ?
Использовать например наши (https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.16.0-pf1-mg2/) (с uksmd и пр. свежими фичами) или из Росы. В магее тоже с ауфс
Если интересно - могу подробнее
это уже не будет ядро от Lubuntu
Все ядра компилятся из одних и тех же исходников. Различия минимальны.
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 31 Январь 2022, 17:53:26
распаковкой в корень
И потом это всё чистить? Со всеми сопутствующими неприятностями?
На холодную то оверлей умеет.
aufs ~15 лет как умеет. Это позапрошлый век.
в  Lubuntu 21.10 уже нет aufs в ядре.
Юбунтуподобные я недолюбливаю (тупые они), но поменять ядро, это разве проблема?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 31 Январь 2022, 23:26:36
А где находятся утилиты в системе у  fredx181 (DebianDog) ?
Это и есть его сборка, из последних:
DebLive_bookworm-tint2-amd64-UEFI.iso

Более того, fredx181 является соавтором сайта Dog Linux (https://debiandog.github.io/doglinux/).


p.s. А так то, все эти скрипты по работе с overlay, находятся в привычном /usr/local/bin, а ярлыки в /usr/share/applications.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 04 Февраль 2022, 07:52:55
                                                        090-PFS-OVL-10.pfs
                                               Скачать - https://cloud.mail.ru/public/pSSC/QWnvMjqP4

1) pfsextract, mkpfs   -  добавил опцию -lg. Это вывод дополнительных логов на экран. Удобно при наладке.

2)   Было два бага у меня в pfsuninstall
-  Это удаление папки /usr/local/bind при распаковке и удалении в систему модуля 090-PFS-OVL
  Проблема решилась блокировкой логов  работы pfsuninstall
  Логи перенаправил в /tmp/pfsuninstall_file
090-PFS-OVL-6

file to delete  :  /usr
  not deleted  :  /usr
file to delete  :  /usr/local
  not deleted  :  /usr/local
file to delete  :  /usr/local/bin
  not deleted  :  /usr/local/bin
file to delete  :  /usr/local/bin/aufs-n
file to delete  :  /usr/local/bin/chroot2pfs
file to delete  :  /usr/local/bin/mkpfs
file to delete  :  /usr/local/bin/pfs
file to delete  :  /usr/local/bin/pfsextract
file to delete  :  /usr/local/bin/pfsfind
file to delete  :  /usr/local/bin/pfsload
file to delete  :  /usr/local/bin/pfsuninstall
file to delete  :  /usr/local/bin/pfsunload
file to delete  :  /usr/local/bin/syschanges

-  Некорректная чистка системы при распаковке и удалении в систему модуля DEVX-2110-sf07.pfs
   В частности не удалялись при чистке системы файлы от подмодуля dkms
   Переставил строки
    было
    found="$(find ${PFSDIR}/ -mindepth 3 -maxdepth 3 -type f -name 'pfs.files' | while read listfiles; do cat "${listfiles}" | sed -e 's:[\]:\\\\\\\\:g'; done)"
    listfiles="$(cat "/tmp/.pfs/uninstall/$package_name/pfs.files" | sed -e 's:^[^/]*::' -e 's:[\]:\\\\:g')"
    стало   
    listfiles="$(cat "/tmp/.pfs/uninstall/$package_name/pfs.files" | sed -e 's:^[^/]*::' -e 's:[\]:\\\\:g')"
    found="$(find ${PFSDIR}/ -mindepth 3 -maxdepth 3 -type f -name 'pfs.files' | while read listfiles; do cat "${listfiles}" | sed -e 's:[\]:\\\\\\\\:g'; done)"
    Теперь  pfsuninstall - работает
3)  В mkpfs для  Overlay доступна теперь опция записи модуля с нужными тенями  -w . Но делает это утилита mhddfs
      В Ubuntu пакет mhddfs доступен для скачивания.
      Таким образом Overlay+mhddfs это расширение функционала Overlay
4)   pfsload  в Overlay сначала монтирует модуль в /memory/bundles  а потом запускает pfsextract
       pfsunload  запускает pfsuninstall а потом отмонтирует модуль в /memory/bundles

Распаковка модуля в систему и затем пофайловое удаление уже есть:
pfsextract -i
pfsuninstall

Действительно. А зачем pfsload монтирует модуль в /memory/bundles  ?
Сам пользуюсь pfsextract -i  и  pfsuninstall в Overlay  и проблем не нашел.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 04 Февраль 2022, 11:23:10
Еще одна особенность, когда в системе и в подключаемом модуле есть одинаковые файлы. После выполнения pfsunload, что-то в системе перестанет работать. Раньше такого не было, но там и принцип выполнения pfsunload был другой, да и overlay не было.
Легко проверить с тем же DEVX, для чего установить какую-нибудь прогу из списка ниже, а затем сделать"pfsload DEVX-2110-sf07.pfs && pfsunload DEVX-2110-sf07.pfs".
Код
$ echo $(pfspkg DEVX-2110-sf07.pfs)
asp autoconf automake bc binutils bison checkinstall cmake db dkms elfutils fakeroot flex gc gcc gdbm gettext git guile intltool jq jq jsoncpp libcroco libmpc libnsl libtool libuv libxslt linux-headers m4 make meson ninja oniguruma pahole patch perl perl-clone perl-encode-locale perl-error perl-file-listing perl-html-parser perl-html-tagset perl-http-cookies perl-http-daemon perl-http-date perl-http-message perl-http-negotiate perl-io-html perl-libwww perl-lwp-mediatypes perl-mailtools perl-net-http perl-timedate perl-try-tiny perl-uri perl-www-robotrules perl-xml-parser pkgconf python python-appdirs python-more-itertools python-ordered-set python-packaging python-pyparsing python-setuptools python-six python2 rhash sqlite texinfo xmlto



Если проверка в prar2110, то проще установить, например, питон, командой sfs-get python. И пробовать запустить, после подключения/отключения DEVX.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 04 Февраль 2022, 11:48:13
Какие-то полезные идеи применения overlay можно подсмотреть на github (https://github.com/search?p=1&q=overlayfs&type=Repositories). Полистать страницы хотя бы до squashmount.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Февраль 2022, 16:19:27
Что то не нашел новых идей. Вроде, то что смотрел, это инициализация Overlay в системе. Но у нас этот вопрос рещен применением uird.
Радует что сообщений много.
Если принять применение утилиты mhddfs для молулей с тенями, то остается горячее подключение.
Но какая область применения горячего подключения ?
Вчера обновлял Мгею из штатных источников ...
Обновил ядро и пришло сообщение о необходимости перегрузить систему.
Обновил системные файлы и опять сообщение о необходимости перегрузить систему.
А горячее подключение это равнозначно обычному обновлению системы. По крайней мере в моей сборке других новых модулей нет.
И видимо это еще надо знать что можно грузить через горячее подключение а что нет.
Это хорошо если есть опыт. А если его нет ?
Для таких юзеров придется делать сообщения о необходимости перегрузить систему. Целая проблема.
Так что получается в своей сборке мне проще не использовать горячее подключение а загружать новые модули простой перезагрузкой системы.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 05 Февраль 2022, 18:25:20
какая область применения горячего подключения ?
Подключить внезапно понадобивщийся модуль
горячее подключение это равнозначно обычному обновлению системы
Быстрой установке - сносу софта
надо знать что можно грузить через горячее подключение а что нет
Загрузить можно все что угодно. Выгрузить - только то, в чем файлы не заняты (если не отключится - пускай висит до перезагруза - не критично)
в своей сборке мне проще не использовать горячее подключение
Если это не модульный фругал, а фул запакованный в сквош , в котором есть все что надо - да
У фул и фругал разная философия и метода использования
Видимо вы не юзали совсем модульный фругал. Поэтому не понимаете поэзии горячего подключения :)
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 05 Февраль 2022, 18:31:48
не понимаете поэзии
:)


Вроде это с ArchLinux пошло, когда юзер мог создать систему полностью под себя, отринув все лишнее, и ее размер, в этом случае, резко отличался в меньшую сторону от остальных дистрибутивов, где все включено.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 05 Февраль 2022, 18:37:17
Арч вообще - конструктор для опытных
Но насчет меньше - нет. У арча по сравнению с дебианом пакеты не разделены на кучу кусков. Поэтому размер будет больше
Название: Re: Overlay для mkpfs
Отправлено: DdShurick от 05 Февраль 2022, 18:39:41
не понимаете поэзии горячего подключения
Не понимает. У них псевдомонолит, поэтому многие модули трогать нельзя. Другие задачи - другая философия.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 05 Февраль 2022, 18:48:23
У арча по сравнению с дебианом пакеты не разделены на кучу кусков. Поэтому размер будет больше
Но ведь 'костыльно', через fake, удается уменьшить размер модулей. ) Да, метод не официальный, но работает же.
Скрин.


p.s. fakeroot - официальный пакет. )
Название: Re: Overlay для mkpfs
Отправлено: sfs от 05 Февраль 2022, 18:54:42
Сравните размер LFA и LFD - все сами поймете
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Февраль 2022, 20:13:32
Загрузить можно все что угодно. Выгрузить - только то, в чем файлы не заняты

Извините за настойчивость. Получается что в системе можно сменить ядро без перезагрузки ?
Я правильно понял ?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 05 Февраль 2022, 20:20:15
только то, в чем файлы не заняты (c)


Грубо говоря, запустил я DEVX.pfs, а потом какую-нибудь прогу на python. Так, пока не закрою эту прогу, не смогу отключить DEVX.

И понятно, что с ядрами фокус горячего отключения не пройдет.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Январь 2023, 15:10:03
Что лучше AUFS или OverlayFS ?

AUFS более функциональна. Но тени из AUFS не работают в OverlayFS
OverlayFS более универсальна.Тени, из OverlayFS работают в AUFS
   Ограничения OverlayFS :
Спойлер
- в OverlayFS пока нет возможности при монтировать в развернутую систему  дополнительный модуль (горячее подключение).
   Приходится, сделав новый модуль, перезагружать систему.
   На мой взгляд надо обладать опытом работы с сервисами, что бы  пользоваться горячим подключением.
   Если опыта мало то лучше, даже в AUFS, не рисковать и  перезагрузиться.

- в UIRD, при выключении, сделанные изменения в системе сохраняются в модуль
  При этом /memory/changes должны суммироваться со старым модулем сохранения.
  Если это делать в OverlayFS то теряются тени, что недопустимо.
  В UIRD для  сохранения файлов +тени есть режим mount+wd
  Тут старый модуль сохранения копируется в /memory/changes
  Претензий к этому режиму у меня нет. Удивительно, но задержек нет и все копируется быстро.
  Но я попробовал применить для суммирования /memory/changes  и старый модуль сохранения утилиту mhddfs
  При этом mhddfs монтирует как файлы, так и тени файлов из memory/changes и старого модуля сохранения  .
  Скачать mhddfs  - https://raw.githubusercontent.com/rpmsphere/x86_64/master/m/mhddfs-0.1.39-6.x86_64.rpm (https://raw.githubusercontent.com/rpmsphere/x86_64/master/m/mhddfs-0.1.39-6.x86_64.rpm)
  Для Lubuntu пакет mhddfs присутствует в репозиториях
  При этом, если mhddfs отсутствует в UIRD, то работает авторское копирование модулей.

Спойлер
              if [ -f '/usr/sbin/mhddfs' ]; then
                    mhddfs "$SRC","${UNION}-bundle" $UNION
                    SRC="$UNION"
        else
               mount -o remount,rw ${SYSMNT} # need if uird.rootfs=zram
               which rsync >/dev/null 2>&1 && \
               rsync -aq --ignore-existing ${UNION}-bundle/* ${SRC}/ || \
               cp -Rn ${UNION}-bundle/* ${SRC}/
 fi               
[свернуть]
[свернуть]


Есть проблемы в UIRD для Магее-9 и Ubuntu и в этих дистрах  требуются правки.
Подробнее о UIRD - https://forum.mageia.org.ru/viewtopic.php?pid=35909#p35909
Название: Re: Overlay для mkpfs
Отправлено: sfs от 05 Январь 2023, 16:08:33
Что лучше AUFS или OverlayFS ?
Т.е. по итогу получается, что у AUFS только одна проблема - ядро придется компилить самому или искать  :)
Обстоятельный материал. Спасибо +

Overlay для mkpfs - betсher сделал в Барии (https://forum.puppyrus.org/index.php?topic=23651.0). По простому этот клон pfsutil мне к арчу прикрутить не удалось.
Хорошо бы всем юзать одно и то же а не форки
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Январь 2023, 17:10:52
Overlay инициализирует UIRD.
В Магеиа-9  и Lubuntu uird уже не запустится или запустится с ошибками.
Причины :
1)  В Магее-9  egrep устарел и отсутствует
Спойлер
~$ egrep
egrep: warning: egrep is obsolescent; using grep -E
[свернуть]
Lubuntu то же egrep  уже отсутствует.
Спойлер
[console=root]# egrep
Использование: grep [ПАРАМЕТР]… ШАБЛОНЫ [ФАЙЛ]…
Запустите «grep --help» для получения более подробного описания.[/console=root]
[свернуть]
Заменил egrep на grep -E во всех скриптах

2) Bash от  Lubuntu не "понимает" команды
Спойлер
if [ -n "$ADDFILTER" -o -n "$DROPFILTER" ] ; then
      надо задавать
if [ -n "$ADDFILTER" ] || [ -n "$DROPFILTER" ] ; then
      Или
if [ -n "$ADDFILTER" -a -n "$DROPFILTER" ] ; then
      надо задавать
if [ -n "$ADDFILTER" ] && [ -n "$DROPFILTER" ] ; then
      Вот еще пример
[ -f /dev/mapper/uirdencdev$a  -o -b /dev/mapper/uirdencdev$a ] && continue
      заменил на
([ -f /dev/mapper/uirdencdev$a ] || [ -b /dev/mapper/uirdencdev$a ]) && continue
[свернуть]
Сообщил автору - https://forum.magos-linux.ru/t/testim-uird/58/49
Уж не знаю сделают или нет. В Росе то все работает.
Не сделают то у меня получится форк.
Попробуйте мой  исправленный конфигуратор uird  для Магеи8 - https://drive.google.com/drive/folders/1imHBA6dQgUc4aX_4-Y8TysdjePboEJAr?usp=share_link (https://drive.google.com/drive/folders/1imHBA6dQgUc4aX_4-Y8TysdjePboEJAr?usp=share_link)
Для других дистрибутивов надо из /usr/share/uird удалить busybox и dracut.
Запустить в терминале make_busybox.sh и make_dracut.sh
При этом для Lubuntu надо править /usr/share/uird/mkuird.cfg
Не работают в UIRD настройки для plymouth от Росы в Ubuntu
Спойлер
# mkuird config file

#########################################
#uncomment this string if work dir is not ./
#WORKDIR=/usr/lib/uird
#
#BINBUSYBOX=/usr/bin/busybox               # busybox binary, default is ./busybox/busybox
#OUTD=/boot                      # like par -o
#EXCLUDE=BIN_extra,nbd,zram               # like par -e
#NAME=myUIRD.cpio.xz                  # like par -n
#KERNEL=4.19.10-x86_64                  # like par -k
#KMODPATH=/tmp/kernelmods               # like par -m
#LOGD=/var/log/uird                  # like par -L
##########################################

KM_base="loop  pata_acpi ata_generic ahci xhci-hcd  xhci-pci xhci-plat-hcd ohci-pci  usb-storage uhci-hcd lockd evdev af_packet
      atkbd i8042   hid usbhid ehci-hcd ohci-hcd ehci-pci ehci-platform  hid-generic sr_mod sd_mod scsi_mod jbd jbd2 sunrpc cbc
      hid-apple mac-hid nouveau
      =drivers/ide =drivers/ata =drivers/gpu  =drivers/usb/storage  =drivers/usb/host =drivers/mmc  =drivers/net =drivers/video/fbdev"
KM_network="=drivers/net/ethernet =fs/nfs"
KM_dev="nbd zram mptspi mptfc mptsas nvme vmw_pvscsi"
KM_crypto="aes-generic aes-i586 aes-x86_64 dm-crypt cryptoloop"
KM_compAlg="z3fold lz4 zstd"
KM_virt="virtio virtio_blk virtio_pci virtio_scsi virtio_net"

FS_KM="aufs squashfs vfat msdos iso9660 isofs xfs fuse nfs cifs udf nls_cp866 nls_utf8 reiserfs overlay ext3 ntfs btrfs"

BIN_base="mksquashfs gettext loadkeys  reboot poweroff file cryptsetup kmod"
BIN_network="aria2c sshfs curlftpfs httpfs"
BIN_filesystem="mhddfs mkfs.ext4 mkfs.btrfs qemu-nbd qemu-img fsck fsck.ext2 fsck.ext3 fsck.ext4 fsck.exfat fsck.vfat fsck.xfs fsck.btrfs btrfsck ntfsfix parted resize2fs"
BIN_extra="rsync"

DM_uird="uird uird-network uird-soft"
#DM_base="base ntfs kernel-modules crypt shutdown plymouth i18n"
# Для Ubuntu
DM_base="base ntfs kernel-modules crypt shutdown"

#INST_all="/usr/lib64/plymouth/label.so /usr/share/fonts/TTF/FreeSans.ttf /etc/pki/tls/cert.pem"
# Для Ubuntu
INST_all="/usr/share/fonts/TTF/FreeSans.ttf /etc/pki/tls/cert.pem"

#use for --addon only
ExtraDM="uird-dev"
[свернуть]

Подробнее - https://forum.mageia.org.ru/viewtopic.php?pid=35909#p35909
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Январь 2023, 17:45:33
Хорошо бы всем юзать одно и то же а не форки

Вот это точно сказано.
Одному делать сложно.
У меня получилось в grub  4 режима запуска и 8 функциональных клавиш изменения опций.
Если две системы то все надо умножить на 2. И так далее ....
Да где я один это все протестирую.
Вот если бы был один проект на все дистры, то каждый свое тестирует а потом все просто собирается.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 05 Январь 2023, 17:55:57
Вот это точно сказано.
Ну так, sfs сказал "а", но надо тогда говорить и "б". Ведь если "юзать одно (c)", тогда это не только касается общего pfs-utils ("этот клон pfsutil мне к арчу прикрутить не удалось. (c)"), но и общего initrd.

Раз уж есть uird, давно обкатанный и с подробной документацией, то его и использовать, а не плодить каждому свое. А то получается, "здесь давайте вместе и без форков, а вот здесь я буду свое 'хреначить' (initrd-raf2) и пофиг, что у кого-то уже есть подобный функционал (uird) ".  :)

Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Январь 2023, 18:55:40
аз уж есть uird, давно обкатанный и с подробной документацией, то его и использовать

UIRD инициализирует Overlay/AUFS и он же, при выключении системы, пишет модуль с системными изменениями.
Причем модуль пишется быстро.
Если загрузчик не пишет изменения, то приходится их писать при выключении системы. Логика работы системы  тут изменена, что бы модуль  с системными изменениями записался.
И при обновлении некоторых системных пакетов  логика работы меняется на штатную и модуль пишется либо некорректно либо вообще не пишется.
Это у меня было на Магее. Но с пишущим UIRD все поменялось.
Даже при обновлении системных пакетов модуль с системными изменениями пишется нормально.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 05 Январь 2023, 19:22:34
общего pfs-utils
Он уже не общий. Я писал про ошибки в 4 версии. Они не исправлялись (вроде до сих пор)
В итоге я вернулся на 3 версию. На версию из Бария перейти желание есть - исключительно чтобы не плодить форки
bether даже обещал посмотреть - почему у меня не заработало в арче
Тут все от bether зависит. Он сейчас перешел в профессионалы. Не факт что захочет с нашим самопалом возиться

вот здесь я буду свое 'хреначить' (initrd-raf2
Альтернативы иметь тоже полезно. Тем более raf попроще и поменьше (т.к. bash не требует). Кстати обновил с добавлением функционала. Скоро выложу
Код в UIRD затейлевый. Писал neobht - не факт что получится без него разобраться
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 05 Январь 2023, 21:42:40
общего pfs-utils
Он уже не общий. Я писал про ошибки в 4 версии.

Не знаю как там с pfs-utils.
Но у меня получилось, что Магеиа-8, Lubuntu 22.10, Runtu KDE 22.04  работают на UIRD без магос-модуля.
То есть система запускается и при выключении пишутся в модуль системные изменения.
Ну от Магеи-9 пришел сюрприз. К моменту записи в UIRD модуля сохранения папка /memory/changes уже обнулена системой.
Тут опять пришлось правки делать. И Магеи-9 без магос-модуля на UIRD уже не работает.
Так что все от системы зависит.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 06 Январь 2023, 19:19:18
Это может обернуться большой проблемой. Какая там версия ядра и системд, не подскажете?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 06 Январь 2023, 19:42:09
bether даже обещал посмотреть - почему у меня не заработало в арче
Не удивлюсь, что та же неполная совместимость с "/" (корнем) ArchLinux. Что уже приходилось править в uird.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 06 Январь 2023, 19:58:35
Не факт что захочет с нашим самопалом возиться
Дело не в желании. Когда целыми днями за компом в свободное время заниматься тем же самым трудно себя заставить (. Уже несколько таких вопросов висит, не знаю за что хвататься.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 06 Январь 2023, 21:38:33
Запустил у себя последний barium-latest.iso
Конечно все красиво, но как то непривычно. Но pfs-утилит уже нет и папки /memory.
Рабочий стол XFCE, а значит контекстного меню для мыши, для работы с модулями, то же нет.
Вроде это обычный LiveCD. Ну может что не так запустил ?
Вот загрузил Runtu - https://forum.runtu.org/index.php/topic,8529.0.html
Так очень даже неплохо сделана.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 06 Январь 2023, 21:46:39
Но pfs-утилит уже нет
Есть, они только называются по другому.

И да, betcher так и не сподобился  :) прикрутить подключение/отключение модулей. Я имею ввиду самой простой случай, когда модули лежат в /optional.
Хотя эта фишка востребована, имхо. И даже пригодилась бы и в самом barium, где два браузера, и второй (firefox, отдельным модулем) можно было бы подключать по необходимости, или не подключать.


UPD. barium_utils - аналог pfs-utils с aufs и overlayfs (https://forum.puppyrus.org/index.php?topic=23975.0)
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 06 Январь 2023, 22:17:42
Вроде это обычный LiveCD. А для кого он ?
Там в стартовом меню, можно выбрать пункт переразбивки флешки под сохранение.
Т.е. два варианта - юзаем как LiveCD или создаем на лету полноценную загрузочную флешку с возможностью сохранения (скриптом, без участия юзера).

p.s. Сам пробовал (https://forum.puppyrus.org/index.php?topic=23891.msg184283#msg184283), записывал образ с dd и на выходе получал записываемую флешку, с разделом для сохранения.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 07 Январь 2023, 08:02:53
Но pfs-утилит уже нет и папки /memory.
Вместо /memory  -  /.memory,  UIRD позволяет легко менять имя папки.
Рабочий стол XFCE, а значит контекстного меню для мыши, для работы с модулями, то же нет.
Барий не предполагает, что вы будете постоянно подключать и отключать модули. Это же не сборочка для экспериментиков, а ОС которую Роса продает для использования с токена. Админ настроил, работник юзает )).

И да, betcher так и не сподобился   прикрутить подключение/отключение модулей.
Для ауфс - есть, для оверлея не вижу нормального способа. Возможно сделаю конвертирование модуля в рпм,  можно будет устанавливать модуль как пакет. Но тоже не айс конечно.
И даже пригодилась бы и в самом barium, где два браузера, и второй (firefox, отдельным модулем) можно было бы подключать по необходимости, или не подключать.
Вот объясните мне зачем? Зачем отключать ФФ, что это даст? Пару метров озу?
Т.е. два варианта - юзаем как LiveCD или создаем на лету полноценную загрузочную флешку с возможностью сохранения (скриптом, без участия юзера).
Да. Так можно. Отличие от нормально установленного бария в том, что такой не сможет обновляться.

Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 07 Январь 2023, 12:04:23
Для ауфс - есть, для оверлея не вижу нормального способа.

У себя я сделал в Pfsload так :

Спойлер
if    [ "$unionfs" = "overlay" ]; then
   modlist="$(cat /proc/mounts| grep overlay| awk -F= '{print $2}'| awk -F, '{print $1}')"
   mount -t overlay overlay -o lowerdir=${mountpoint}:$modlist  /
   echo "mountpoint=$mountpoint"
   cp -Rn $mountpoint/* /
   echo "please wait ....."
fi
[свернуть]
Конечно не шедевр.
Монтирование дополнительного модуля дальше /memory/bundles не проходит и в системе файлы модуля не появляются.
Но в моем chroor2xzm, на котором я собираю свою сборку, такое монтирование работает. От цикла к циклу Overlay перемонтируется и модули собираются.
Тут пришлось включить копирование.
Не  совсем понятно а зачем это делать ?
Ну загрузил я в систему скажем mysql и его теперь надо запустить. Это опять работа в терминале, где я одним пальцем ввожу команды.
Да проще перезагрузиться.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 07 Январь 2023, 12:35:42
ОС которую Роса продает для использования с токена.


Если  barium-latest реклама, то вроде слабая.
В файловом менеджере от XFCE не нашел функции поиска файлов или папок.
Но может плохо искал ?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 07 Январь 2023, 14:06:45
Вот объясните мне зачем? Зачем отключать ФФ, что это даст? Пару метров озу?
Принцип KISS. :) Или говоря языком простого юзера, "Зачем плодить лишнее и пихать все в одну кучу, если мне это понадобится раз в году, чтобы проверить сайт на другом браузере". )

Тот же ArchLinux чаще всего выбирают те, кто хочет контролировать 'подкапотное' пространство своей системы. Чтобы было только то, что сам захотел, выбрал и поставил.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 07 Январь 2023, 16:09:23
В файловом менеджере от XFCE не нашел функции поиска файлов или папок.
Не реклама, а свободная версия. Xfce выбран потому, что относительно прост и легок. Плазма для старых железок тяжеловата, а несколько ДЕ, как в магос увеличат размер ОС и усложнят загрузочные меню. Первые версии были с mate.
Название: Re: Overlay для mkpfs
Отправлено: betcher от 07 Январь 2023, 16:14:45
Зачем плодить лишнее и пихать все в одну кучу, если мне это понадобится раз в году
А зачем городить сложности для юзера? Включение модуля, отключение. Если это не жрет ресурсов ).
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 07 Январь 2023, 18:36:59
Плазма для старых железок тяжеловата,

RUNTU - https://forum.runtu.org/index.php/topic,8529.0.html
У них Плазма как LXQT. И на  старом железе будет работать.
Вроде как максимально облегченная, но это плазму не портит.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 09 Январь 2023, 02:47:09
На гитхабе пилят 'горячее' подключение с overlay. Правда это у нас оно 'горячее', а у них "динамическая загрузка SFS".

20 октября 2022
Цитата
Некоторые пользователи считают динамическую загрузку SFS ключевой особенностью Puppy, и она действительно уникальна. Вот почему я попробовал это в #3398 (https://github.com/puppylinux-woof-CE/woof-CE/pull/3398) : этот PR включен в сборку разработки 10.0.x в основном для сбора отзывов.

Интересно, сколько пользователей постоянно меняют набор используемых ими SFS или используют свои компьютеры таким образом, что не требуют перезагрузки. Я хочу добиться стабильности и удобного взаимодействия с пользователем с помощью оверлея до выхода бета-версии 10.0.0 в начале 2023 года. Если #3398 представляет большой риск поломки или потери данных, или если он слишком ограничен и запутан, я не против нажать это выходит за рамки стабильной версии 10.0.0 и поддерживает загрузку SFS только во время загрузки.
https://github.com/puppylinux-woof-CE/woof-CE/issues/3523#issuecomment-1285724072


Скрипт sfs_load.overlay (https://github.com/puppylinux-woof-CE/woof-CE/blob/349ff91baee84bf731617bc006d2b41b3a068688/woof-code/rootfs-skeleton/usr/sbin/sfs_load.overlay)
Автор цитаты выше (dimkr), он же и автор Vanilla Upup 22.04.61 (https://forum.puppylinux.com/viewtopic.php?t=5290), где уже используется overlay.
Название: Re: Overlay для mkpfs
Отправлено: ingvaro от 11 Январь 2023, 10:57:59
Правда это у нас оно 'горячее', а у них "динамическая загрузка SFS".

Посмотрел скрипт и мало что понял.
Если нетрудно, а в чем суть этой  "динамической загрузки SFS" ?
Название: Re: Overlay для mkpfs
Отправлено: sfs от 11 Январь 2023, 11:41:32
Там в заголовке when using overlay, simulate dynamic SFS loading using symlinks
Т.е. как в tinycore. Примонтировать сквош и наделать симлинков в корень. Мы такое тоже обсуждали
Не нашел у них ln , но на уровне идеи никаких чудес
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 11 Январь 2023, 13:57:03
Не нашел у них ln

Цитата
63   cp -asn "$MNT"/* /
### -s, --symbolic-link          создавать символьные ссылки вместо копирования
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 11 Январь 2023, 14:38:29
Кстати, по следам вышенаписанного. Когда betcher предложил использовать pfsinstall (pfsextract -i), как решение горячего подключения overlay, то оказалось, что последующий pfsuninstall удалял лишнее.

Может есть возможность доработать? Там основное, имхо, при pfsinstall (pfsextract -i) не должны копироваться файлы и папки, которые уже есть в системе.


upd. Добавил в скобках pfsextract -i, вроде теперь нет pfsinstall.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 11 Январь 2023, 15:03:03
Может есть возможность доработать?
так добавьте -s :)
Если серьезно - AUFS жив. Пока это так - надо ли что-то еще?
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 17 Январь 2023, 17:45:17
Поразмыслил над "pfsextract -i/pfsuninstall". Какие там подводные камни:
- Дубликаты в основной системе и в подключаемом модуле. Следствием, последующее удаление модуля что-то сломает в системе.
- После выполнения pfsuninstall остаются пустые папки в /var/lib/pacman/local, что делает невозможным выполнение pacman -S.

Итак,
- Пользуемся только собственноручно созданными дополнительными модулями (расположение в /optional), что учитывает оригинальную конфигурацию юзерской системы и исключает дубликаты файлов.
- Добавил 'костыль' в pfsuninstall, разместив команду "find /var/lib/pacman/local -type d -empty -delete" в конце скрипта.


Посмотрю, что покажет практика.
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 23 Январь 2023, 02:20:32
По следам новости  Выпуск BSD-системы helloSystem 0.8, развиваемой автором AppImage (https://www.opennet.ru/opennews/art.shtml?num=58529)
Цитата
Приложения поставляются в самодостаточных пакетах..... Проектом развивается серия собственных приложений, таких как ... утилита mountarchive для монтирования архивов в дерево ФС

Та самая утилита mountarchive (https://github.com/helloSystem/ISO/blob/da8bc8d510bb56b66ba7bae7c5ffc8a269da10ab/overlays/uzip/mountarchive/files/usr/local/bin/mountarchive), на питоне.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 23 Январь 2023, 09:32:46
mountarchive, на питоне.
Чем архив будет лучше squashfs?
В соседней теме разбирал - только возможностью поставить пароль
Но все монтировки архивов на fuse = тормоза
А в https://www.freebsd.org/cgi/man.cgi?archivemount еще и qt5
Название: Re: Overlay для mkpfs
Отправлено: crims0n от 23 Январь 2023, 09:39:07
Если серьезно - AUFS жив. Пока это так - надо ли что-то еще?
Надо. AUFS на соплях держится. Если есть возможность от него уйти, то надо уходить.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 23 Январь 2023, 09:43:53
AUFS на соплях держится
Есть факты?
Если есть возможность от него уйти, то надо уходить.
Да, но пока горячего подключения нет - торопиться не стоит
На крайняк : В инитрд у нас уже есть поддержка overlayfs. Написать псевдо горячее подключение на симлинках - простая задача
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 23 Январь 2023, 14:34:17
Чем архив будет лучше squashfs?
Архив, понятие растяжимое. И squashfs архив, разве нет. И AppImage архив, я считал, что речь именно о нем в новости.
Название: Re: Overlay для mkpfs
Отправлено: sfs от 23 Январь 2023, 14:37:25
И squashfs архив, разве нет
Да. Но в mountarchive  zip tar,а не squash
AppImage архив
Вроде сквош. Разбирали эту тему - пришли к выводу - лучше перепаковывать, чтобы уменьшить размер
Название: Re: Overlay для mkpfs
Отправлено: krasnyh от 24 Апрель 2023, 00:06:10
Цитата
И да, betcher так и не сподобился прикрутить подключение/отключение модулей.
Для ауфс - есть, для оверлея не вижу нормального способа. Возможно сделаю конвертирование модуля в рпм, можно будет устанавливать модуль как пакет. Но тоже не айс конечно.

А если с ChatGPT? Типа, один ум хорошо, а вдвоем с ИИ вообще горы свернем.  :)
(Я про 'горячее' подключение, если что.)
Название: Chroot2pfs как использовать?
Отправлено: totiks2012 от 25 Январь 2024, 10:22:09
Я скачал 090-PFS-OVL -  https://cloud.mail.ru/public/pSSC/QWnvMjqP4 отсюда,поместил скрипты в /usr/local/bin
ввел в терминал
Код
sudo chroot2pfs -o ModuleDIR  --flist /tmp/module.list --command apt install mc
ответом
Код
Using:  CHROOT=chroot
aufs number: 1
grep: /tmp/module.list: Нет такого файла или каталога

layers=

Empty layers list
я должен создать перед вводом этой команды /tmp/module.lis если да что должно быть в /tmp/module.list только пожалуйста, если вас не затруднит,приведите   ответ разёрнутей, понятней, я эту тему не только для себя хочу расскрыть, wiki сухая , малоинформативнная, там нет последовательных шагов, и  не понятно пойдет ли  chroot2pfs на live-kit основаный на Debian.

upd: посмотрел Using:  CHROOT=chroot
aufs number: 1 использует aufs
Название: Re: Chroot2pfs как использовать?
Отправлено: k0l0p0k от 25 Январь 2024, 12:12:04
https://github.com/pfs-utils/pfs-utils-cli/blob/master/project-files/usr/bin/chroot2pfs

исходники довольно подробно прокомментированы, притом на русском!
и переменным с функциями даны нормальные имена, а не просто односложные и малопонятные a, b1, c0
с 21й строчки ф-я HLP
88-89:
case "${arg}" in
    "-h" | "--help" ) HLP;;
Код
echo "--flist 	- список модулей и папок из файла. В файле можно применять \"#\" для блокирования"
echo "Создать список из модулей в каталоге dir: find  /pth/dir -name *.$EXT |sort |awk '{print \"#\"$0}' > flist.lst"


Название: Re: Overlay для mkpfs
Отправлено: sfs от 26 Январь 2024, 09:42:12
Я скачал 090-PFS-OVL
Я не автор. Если и смотрел это - давно и ничего не помню. Пока не доведу FAS до хотя-бы промежуточного результата - сильно отвлекаться не буду.
Автор - Последняя активность:22 Ноябрь 2023 - попробуйте написать ему на почту
Или
набор утилит аналогичный pfs-utils, только основные утилиты, зато работает и с оверлеем и с ауфс

wiki сухая
Какая ? Что именно не понятно?
https://github.com/pfs-utils/pfs-utils-cli/blob/master/project-files/usr/bin/chroot2pfs
Это другой pfs v4, который  я не использую
я откатился на 3 версию и мне ее функционала хватает