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

Автор Тема: Overlay для mkpfs  (Прочитано 26752 раз)

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

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #15 : 08 Сентябрь 2021, 09:02:52 »
Это верно для Xdialog, которая активно используется в МагОС
Задавал так
В магос в основном mdialog - враппер для zenity/kdilog зависимо от текущей среды. Но в pfs-utils этого нет.
Вполне можно допустить использование в консольных утилитах
Можно, но не в скриптах, а в обертках к ним. Даже в магос и в местных сборках эти обертки будут разные, что говорить о других возможных пользователях.
А если юзеру понадобится какой то другой язык ?
gettext. Но это надо все скрипты перелопатить, если будет время и настроение можно и сделать.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #16 : 08 Сентябрь 2021, 09:05:39 »
все скрипты перелопатить,
Лучше консольные не усложнять. А интернационализвцию - в гуй

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #17 : 08 Сентябрь 2021, 09:43:56 »
Для ознакомления easybashgui. Давно нашел, решил выложить. Его преимущество - гуи, написанный с командами easybashgui, будет работать с любыми установленными в системе библиотеками, типа yad, gtkdialog, kdialog, zenity, Xdialog, dialog...

AUR

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #18 : 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) удобна при отладке но сейчас вроде все работает.
« Последнее редактирование: 08 Сентябрь 2021, 15:43:42 от ingvaro »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8636
  • Репутация: +187/-2
  • Старый чайник
Re: Overlay для mkpfs
« Ответ #19 : 08 Сентябрь 2021, 17:03:09 »
gtkdialog это версия dialog для gtk
Нет.
Примеров работы для gtkdialog в инете  особо нет.
Gtkdialog Examples
И как сделать Гуй к pfs я не знаю
А оно надо?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #20 : 08 Сентябрь 2021, 18:27:36 »
Проще эти опции удалить. На нет и суда нет.

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

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

Вот именно.
Кому надо тот пусть и делает Гуй да еще на gtkdialog.
В своей сборке я пользуюсь Xdialog
« Последнее редактирование: 08 Сентябрь 2021, 20:57:02 от ingvaro »

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #21 : 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   поддерживает русский и английский и вопрос выводится в действующей локали.
« Последнее редактирование: 09 Сентябрь 2021, 07:16:21 от ingvaro »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #22 : 09 Сентябрь 2021, 09:25:53 »
как сделать Гуй к pfs я не знаю
А оно надо?
Если дистр с Xorg или wayland - надо
Кому надо тот пусть и делает Гуй да еще на gtkdialog.
Да. Я так и сделал. pfs-util отдельным пакетом. Гуй отдельным.
каким Гуем или внешней оберткой мне  заменить строку
В консольных скриптах все задается ключами
Если в середине операции необходим диалог с юзером - делите скрипт на 2. В середину вставляете гуй с вопросами и запускаете вторую часть скрипта уже с ответами, трансформированными в ключи
текст вопроса надо дописывать
Посмотрите мой ntf - там почти все что нужно для диалогов есть

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #23 : 09 Сентябрь 2021, 09:30:13 »
zenity   поддерживает русский и английский и вопрос выводится в действующей локали
yad тоже - да-нет на русском
На скрине
Код
ntf -q Ваш вопрос

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #24 : 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
Чувствуется ваша занятость другими проблемами. Но и у меня их то же хватает.
Поэтому давайте прекратим дискурсию.
Не интерисуют вас эти опции и это ваше право принимать или нет.
Просто надо прямо сказать что это неприемлимо.
« Последнее редактирование: 11 Сентябрь 2021, 14:24:01 от ingvaro »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #25 : 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



Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #26 : 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 на них переделать. Они, если я правильно понял не ядерные
« Последнее редактирование: 10 Сентябрь 2021, 09:42:35 от sfs »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #27 : 10 Сентябрь 2021, 10:01:21 »
Т.е. работодатель наложил какую-то хитрую лицензию или все держится на Вашей порядочности?
Нужен был оверлей, предложил два варианта допилить pfs-utils либо написать свое. По трудозатратам приблизительно одинаково. Сказали делать по максимуму свое. Pfsget почти полностью из pfsutils, остальные скрипты почти с нуля, хотя может местами и заимствовано. Ничего сверх интересного там нет, аналогов многих скриптов совсем нет. Из интересного,  переделан принцип запуска. У всех скриптов общий запускающий скрипт и только он находится в PATH. Получается типа как у гит, то есть вместо mkpfs было бы pfs make  и так далее. Позволяет давать более простые названия не боясь  пересечения с утилитами линукс и легко найти нужную команду запустив pfs без параметров (у меня не pfs называется, это для аналогии).
 
« Последнее редактирование: 10 Сентябрь 2021, 10:30:07 от betcher »

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #28 : 10 Сентябрь 2021, 11:52:05 »
Более того у меня есть скрипты а-ля pfs-utils работающие с aufs и overlay, но сделаны по работе и открыть их могут только те кто эту работу оплатил.

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

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

Трудозатраты на свое вероятно были бы меньше

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #29 : 10 Сентябрь 2021, 12:04:02 »
Получается в overlay в системе есть /memory/changes и /memory/ovl/changes
Сделано для того чтобы /memory/changes был и с оверлеем и с ауфс. То есть /memory/ovl нужен чтоб с оверлеем было максимально токже как с ауфс.