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

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

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Overlay для mkpfs
« Ответ #135 : 27 Январь 2022, 08:35:24 »
попробуйти скачать  090-PFS-OVL-7.pfs
Извините, но у меня своя система (Richy64), и там это не прокатит. Overlayfs у меня давно прикручена, но не пользуюсь по причине её ущербности. Это тупик ребята. Впрочем, если вам интересно, продолжайте.
Моноблок 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
« Ответ #136 : 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 объединить и было бы два сервиса
« Последнее редактирование: 27 Январь 2022, 10:29:00 от ingvaro »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #137 : 27 Январь 2022, 09:29:32 »
Т е pfsextract.-i не может распаковать модуль в систему т к не знает формат составного модуля
Не было заботы и что за мудреный формат ? 

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

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

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

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

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



« Последнее редактирование: 27 Январь 2022, 11:35:27 от betcher »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Overlay для mkpfs
« Ответ #138 : 27 Январь 2022, 11:24:16 »
    Т е pfsextract.-i не может распаковать модуль в систему т к не знает формат составного модуля
Я этого не писал. Аккуратнее с цитированием.
Моноблок 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

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #139 : 27 Январь 2022, 11:32:20 »
Я этого не писал. Аккуратнее с цитированием.
Не вам конечно, не знаю как такое вышло. Делал как обычно, выделял и жал "цитировать (выделенное)" )))

P.S. Исправил.
« Последнее редактирование: 27 Январь 2022, 11:35:53 от betcher »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Overlay для mkpfs
« Ответ #140 : 27 Январь 2022, 11:38:53 »
Бывает.
Смешно, но пишу сейчас загрузив Qimo-2.0 (ядро 2.6.32-21-generic, livesd, firefox 3.6.3). Перебираю старые диски, ностальгирую.....
Моноблок 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
« Ответ #141 : 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>

« Последнее редактирование: 27 Январь 2022, 13:03:12 от ingvaro »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #142 : 27 Январь 2022, 13:04:15 »
Я не понимаю почему pfsload должен дублировать pfsextract. В таком виде я не думаю что стоит мержить в основную ветку. Создаете путаницу. Надо сделать чтобы pfsextract-i и pfsuninstall работали с оверлеем. Pfsload это про монтирование, пока оверлей не научат монтировать нагорячую новые слои не нужно ничего пихать в pfsload. Разве что добавить предупреждение - "загружено с оверлеем юзайте pfsextract -i"
« Последнее редактирование: 27 Январь 2022, 13:14:08 от betcher »

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #143 : 27 Январь 2022, 13:30:17 »
Может добавить в pfsextract , например опцию -b  (bundles)
Код
pfsextract  -i -b  modul
Это если модуль смонтирован в /memory/bundles то копировать из смонтированного образа модуля.
Попутно и листинг файлов модуля в /etc/packages появится
« Последнее редактирование: 27 Январь 2022, 13:35:32 от ingvaro »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #144 : 27 Январь 2022, 13:52:55 »
Это если модуль смонтирован в /memory/bundles то копировать из смонтированного образа модуля
Листинг там и так создается, если нет - надо чинить А как случилось что модуль у вас уже смонтирован в bundles? Чем не пойму суть затеи.

Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #145 : 27 Январь 2022, 17:06:29 »
Его смонтировал в bundles pfsload и он этим и занимается, но в Overlay он в систему не попадает и приходится копировать.
Для того что бы в Overlay модуль попал в систему надо провести новое монтирование Overlay. В AUFS это опция remount.
Но это равнозначно перезапуску системы и делать это, на мой взгляд, опасно.
Даже если из chroot-терминала в /run/initramfs новое монтирование Overlay пройдет успешно то как можно доверять такой системе.
Запуск системного Overlay или Aufs это ведь только начало запуска системы. А если модуль системный и настраивается при загрузке?
Уж чего проще. Положил модуль в системную папку и перезагрузился. Я так и работаю
Но вероятно, если знаешь что делаешь и знаком с работой системы, это можно делать.

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

Листинг создается в pfsextract  А pfsuninstall никаких листингов не делает.
Видимо это и не надо, т к если не было pfsextract то и pfsuninstall запускать не надо.
Но нет и блокировки работы и вывода сообщения если листинг отсутствует и вот это надо делать.
« Последнее редактирование: 27 Январь 2022, 18:31:12 от ingvaro »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Overlay для mkpfs
« Ответ #146 : 27 Январь 2022, 19:42:09 »
Его смонтировал в bundles pfsload и он этим и занимается,
Так вот и не надо использовать pfsload c оверлеем раз монтировать на сегодняшний момент невозможно. А вот допилить pfsextract -i для оверлея - возможно вполне, и это и надо сделать.


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


Оффлайн ingvaro

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +2/-0
  • Автор темы
Re: Overlay для mkpfs
« Ответ #147 : 27 Январь 2022, 21:37:49 »
А вот допилить pfsextract -i для оверлея - возможно вполне, и это и надо сделать.

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


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

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

pfsextract  -i -b  modul

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

Так что все соблюдено. Распковывет pfsextract
Сейчс этот вариант пока в тестировании.
« Последнее редактирование: 27 Январь 2022, 21:44:59 от ingvaro »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #148 : 27 Январь 2022, 21:47:33 »
Составные  у меня не распаковывются в pfsextract. Это в системе нет нужного формата распаковки и лечить вероятно нало систему.
Код
$ unsquashfs -s DEVX-2110-sf07.pfs | grep Compression
Compression zstd
Не умеет zstd распаковывать? В PRAR2110 большие модули сжаты с zstd, маленькие - остались с xz, чтобы сэкономить на спичках. ) Видно sfs далек от золотого принципа - безобразно, но однообразно.)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5332
  • Репутация: +139/-1
Re: Overlay для mkpfs
« Ответ #149 : 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
« Последнее редактирование: 27 Январь 2022, 23:37:26 от krasnyh »