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

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

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #180 : 05 Февраль 2022, 20:20:15 »
только то, в чем файлы не заняты (c)


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

И понятно, что с ядрами фокус горячего отключения не пройдет.

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #181 : 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
  Для 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
« Последнее редактирование: 05 Январь 2023, 16:11:03 от ingvaro »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #182 : 05 Январь 2023, 16:08:33 »
Что лучше AUFS или OverlayFS ?
Т.е. по итогу получается, что у AUFS только одна проблема - ядро придется компилить самому или искать  :)
Обстоятельный материал. Спасибо +

Overlay для mkpfs - betсher сделал в Барии. По простому этот клон pfsutil мне к арчу прикрутить не удалось.
Хорошо бы всем юзать одно и то же а не форки

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #183 : 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
Для других дистрибутивов надо из /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

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #184 : 05 Январь 2023, 17:45:33 »
Хорошо бы всем юзать одно и то же а не форки

Вот это точно сказано.
Одному делать сложно.
У меня получилось в grub  4 режима запуска и 8 функциональных клавиш изменения опций.
Если две системы то все надо умножить на 2. И так далее ....
Да где я один это все протестирую.
Вот если бы был один проект на все дистры, то каждый свое тестирует а потом все просто собирается.
« Последнее редактирование: 05 Январь 2023, 17:48:07 от ingvaro »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #185 : 05 Январь 2023, 17:55:57 »
Вот это точно сказано.
Ну так, sfs сказал "а", но надо тогда говорить и "б". Ведь если "юзать одно (c)", тогда это не только касается общего pfs-utils ("этот клон pfsutil мне к арчу прикрутить не удалось. (c)"), но и общего initrd.

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

« Последнее редактирование: 05 Январь 2023, 18:00:32 от krasnyh »

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #186 : 05 Январь 2023, 18:55:40 »
аз уж есть uird, давно обкатанный и с подробной документацией, то его и использовать

UIRD инициализирует Overlay/AUFS и он же, при выключении системы, пишет модуль с системными изменениями.
Причем модуль пишется быстро.
Если загрузчик не пишет изменения, то приходится их писать при выключении системы. Логика работы системы  тут изменена, что бы модуль  с системными изменениями записался.
И при обновлении некоторых системных пакетов  логика работы меняется на штатную и модуль пишется либо некорректно либо вообще не пишется.
Это у меня было на Магее. Но с пишущим UIRD все поменялось.
Даже при обновлении системных пакетов модуль с системными изменениями пишется нормально.
« Последнее редактирование: 05 Январь 2023, 19:05:36 от ingvaro »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
Re: Overlay для mkpfs
« Ответ #187 : 05 Январь 2023, 19:22:34 »
общего pfs-utils
Он уже не общий. Я писал про ошибки в 4 версии. Они не исправлялись (вроде до сих пор)
В итоге я вернулся на 3 версию. На версию из Бария перейти желание есть - исключительно чтобы не плодить форки
bether даже обещал посмотреть - почему у меня не заработало в арче
Тут все от bether зависит. Он сейчас перешел в профессионалы. Не факт что захочет с нашим самопалом возиться

вот здесь я буду свое 'хреначить' (initrd-raf2
Альтернативы иметь тоже полезно. Тем более raf попроще и поменьше (т.к. bash не требует). Кстати обновил с добавлением функционала. Скоро выложу
Код в UIRD затейлевый. Писал neobht - не факт что получится без него разобраться

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #188 : 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 уже не работает.
Так что все от системы зависит.
« Последнее редактирование: 05 Январь 2023, 21:44:48 от ingvaro »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #189 : 06 Январь 2023, 19:19:18 »
Это может обернуться большой проблемой. Какая там версия ядра и системд, не подскажете?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #190 : 06 Январь 2023, 19:42:09 »
bether даже обещал посмотреть - почему у меня не заработало в арче
Не удивлюсь, что та же неполная совместимость с "/" (корнем) ArchLinux. Что уже приходилось править в uird.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #191 : 06 Январь 2023, 19:58:35 »
Не факт что захочет с нашим самопалом возиться
Дело не в желании. Когда целыми днями за компом в свободное время заниматься тем же самым трудно себя заставить (. Уже несколько таких вопросов висит, не знаю за что хвататься.

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #192 : 06 Январь 2023, 21:38:33 »
Запустил у себя последний barium-latest.iso
Конечно все красиво, но как то непривычно. Но pfs-утилит уже нет и папки /memory.
Рабочий стол XFCE, а значит контекстного меню для мыши, для работы с модулями, то же нет.
Вроде это обычный LiveCD. Ну может что не так запустил ?
Вот загрузил Runtu - https://forum.runtu.org/index.php/topic,8529.0.html
Так очень даже неплохо сделана.
« Последнее редактирование: 06 Январь 2023, 22:43:22 от ingvaro »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #193 : 06 Январь 2023, 21:46:39 »
Но pfs-утилит уже нет
Есть, они только называются по другому.

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


UPD. barium_utils - аналог pfs-utils с aufs и overlayfs
« Последнее редактирование: 06 Январь 2023, 21:59:15 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #194 : 06 Январь 2023, 22:17:42 »
Вроде это обычный LiveCD. А для кого он ?
Там в стартовом меню, можно выбрать пункт переразбивки флешки под сохранение.
Т.е. два варианта - юзаем как LiveCD или создаем на лету полноценную загрузочную флешку с возможностью сохранения (скриптом, без участия юзера).

p.s. Сам пробовал, записывал образ с dd и на выходе получал записываемую флешку, с разделом для сохранения.