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

Автор Тема: Редактирование модуля, идея betcher  (Прочитано 20260 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #15 : 12 Февраль 2017, 19:02:40 »
То что надо.
В моём init сделано похоже, только с разделением выше|ниже. У вас подразумевается, что все точки монтирования|каталоги в одном месте. На практике обычно приходится добавлять в модуль извне. Пока мысль такая:
- создать новую aufs из двух слоёв, пустой каталог edit и выбранный для редактирования в bundles модуль.
- добавляем командой mount -o remount,add:1:$moduledir $aufs2_mntpt другой модуль или несколько модулей.
- послойно, кроме нижнего, создаём pfs.files
- пакуем новый модуль
- отмонтируем.
В сухом остатке edit со всеми изменениями.
Моноблок 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: Редактирование модуля, идея betcher
« Ответ #16 : 12 Февраль 2017, 20:13:33 »
создать новую aufs из двух слоёв, пустой каталог edit и выбранный для редактирования в bundles модуль.
А если мы не из bundles берем? Вообще aufs из одной папки тоже работает.

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #17 : 12 Февраль 2017, 20:22:25 »
А если мы не из bundles берем?
Тогда сначала монтируем, а потом берём.
Вообще aufs из одной папки тоже работает.
Знаю. Можно и так. Вариантов море.
Моноблок 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

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #18 : 13 Февраль 2017, 09:32:38 »
  Обнаружил очень большой плюс, не искажаются права на файлы и каталоги. Это важно для таких модулей как cups.
Моноблок 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: Редактирование модуля, идея betcher
« Ответ #19 : 13 Февраль 2017, 14:06:44 »
Обнаружил очень большой плюс, не искажаются права на файлы и каталоги.
Плюсы в общем очевидны, главное, чтоб серьезных минусов не всплыло :)

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #20 : 13 Февраль 2017, 16:40:53 »
 Минус пока один, верхний слой либо tmpfs, либо физический раздел.
 Давайте стандартизируем точки монтирования aufs и edit.
 $SYSMNT/aufs ?
Моноблок 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: Редактирование модуля, идея betcher
« Ответ #21 : 13 Февраль 2017, 19:49:50 »
Давайте стандартизируем точки монтирования aufs и edit.
 $SYSMNT/aufs ?
Не уверен, что нужно.  Это же временная точка, после работы надо удалять все временное включая и точки монтирования. Может что-то типа /tmp/aufs$$, за одно застрахуемся от проблемы с двумя параллельно запущенными pfsmerge

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #22 : 13 Февраль 2017, 21:24:41 »
 Извлечение пакета из составного модуля на примере пакета Print.xzm:
Код
# mkdir /initrd/aufs
# mkdir /mnt/data
# mount -t tmpfs tmpfs /mnt/data
# mount -t aufs -o dirs=/mnt/data/=rw aufs /initrd/aufs/
# mount -o remount,append:/initrd/bundles/Print.xzm/ /initrd/aufs
# cp /initrd/bundles/Print.xzm/etc/packages/mount/cups-2.1.0/pfs.files /tmp/
# cp /initrd/bundles/Print.xzm/etc/packages/mount/cups-2.1.0/pfs.dirs.empty /tmp/
# cat /tmp/pfs.files | while read F; do cp -a /initrd/bundles/Print.xzm$F /initrd/aufs$F; done
# cat /tmp/pfs.dirs.empty | while read D; do echo 0 > /initrd/aufs$D/null; rm /initrd/aufs$D/null; done
# umount /initrd/aufs
# mksquashfs /mnt/data /home/cups-2.1.0.xzm -comp gzip
# umount /mnt/data
В результате получаем модуль cups-2.1.0.xzm и что особенно важно без искажения прав на каталоги и файлы.
Моноблок 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: Редактирование модуля, идея betcher
« Ответ #23 : 14 Февраль 2017, 06:49:59 »
А добавить pfs в контейнер.pfs  по тому же принципу похоже еще проще :)

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #24 : 14 Февраль 2017, 09:36:11 »
А добавить pfs в контейнер.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

Онлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: Редактирование модуля, идея betcher
« Ответ #25 : 14 Февраль 2017, 09:43:13 »
Минус пока один, верхний слой либо tmpfs, либо физический раздел.
Тут ничего не сделать, но наверное надо это детектить и выдать ошибку
/tmp/aufs$$ - хорошо бы , но если /tmp НЕ верхний слой либо tmpfs, либо физический раздел.
tmpfs - а если модуль большой, а памяти мало
/tmp/aufs$$

Надо пересмотреть как сейчас и переделать так
Извлечение пакета из составного модуля на примере пакета Print.xzm:
без искажения прав на каталоги и файлы.
Сейчас в pfsextract адские костыли для этого

В итоге по инфе из этой темы надо пересмотреть:
1. pfsmerge-dir
2. pfsmerge
3. pfsextract
Кто когда и чем готов заняться (надо договориться - чтобы не в делать  двойную работу)
Я готов pfsmerge-dir сейчас
Есть еще добровольцы?

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Редактирование модуля, идея betcher
« Ответ #26 : 14 Февраль 2017, 10:09:30 »
Pfsmerge и pfsmrge-dir при такой реализации одно и тоже процентов на 80.

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: Редактирование модуля, идея betcher
« Ответ #27 : 14 Февраль 2017, 10:11:11 »
 Здесь принцип другой и проще написать новое с нуля, чем разбираться в "адских костылях"
Я готов
Накорябать новых костылей :)
« Последнее редактирование: 14 Февраль 2017, 10:14:49 от DdShurick »
Моноблок 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

Онлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: Редактирование модуля, идея betcher
« Ответ #28 : 14 Февраль 2017, 10:30:08 »
Pfsmerge и pfsmrge-dir при такой реализации одно и тоже процентов на 80.
Не вопрос.  Главное чтобы хотя бы имеющийся функционал не урезать

Здесь принцип другой и проще написать новое с нуля
Если ключи будут те же - переписывайте (т.е. в рамках пфс)
Что конкретно готовы переписать и когда?
« Последнее редактирование: 14 Февраль 2017, 10:33:25 от sfs »

Онлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re: Редактирование модуля, идея betcher
« Ответ #29 : 14 Февраль 2017, 11:11:58 »
Какой итог - поговорили и разошлись?