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

Автор Тема: chroot2pfs  (Прочитано 388 раз)

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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
chroot2pfs
« : 08 Ноябрь 2018, 11:33:40 »
https://github.com/pfs-utils/pfs-utils-cli/blob/v4/project-files/usr/bin/chroot2pfs
Есть идея. Предлагаю обмозговать.
Вот так приблизительно может выполняться.
chroot2pfs -f -o nano.xzm --command 'urpmi nano'               пакет в модуль в росе
chroot2pfs -f -o nano.pfs --command 'pacman -S nano'      пакет в модуль в PRA
или даже интереснее
chroot2pfs -o module.xzm --command 'urpmi nano && ln -s  /usr/bin/nano /bin/nano '
chroot2pfs -o users.xzm --command 'adduser www_data'
chroo2pfs -o module.xzm --script ./install_my_soft.sh
chroot2pfs -o nano.xzm --command 'urpmi nano && rm -rf /var/lib/rpm '
То есть создаем chroot из модулей, выполняем команды, пакуем изменения.
Пока только идея ни буквы кода :)

« Последнее редактирование: 12 Ноябрь 2018, 10:21:16 от sfs »
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23740
  • Репутация: +173/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #1 : 08 Ноябрь 2018, 12:15:10 »
chroot2pfs
У меня есть pacman2pfs и chroot.sh - если я правильно понял - предлагается этот же функционал, но в более удобном виде
chroot2pfs -o users.xzm --command 'adduser www_data'
Не понял - если users.xzm - не корень дистра - как так можно....
Или users.xzm aufs-ится в работающий корень и изменения попадут в users.xzm ?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #2 : 08 Ноябрь 2018, 12:28:35 »
е понял - если users.xzm - не корень дистра - как так можно....
Может именно так и не выйдет просто идеи набрасывл.
Вообще задумка в некотором смысле замена epm2pfs, о котором уже не вспоминаем.
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23740
  • Репутация: +173/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #3 : 08 Ноябрь 2018, 12:32:50 »
users.xzm aufs-ится в работающий корень и изменения попадут в users.xzm
Такое было бы интересно, но вряд ли реализуемо
И польза от этого будет только а арче (где в базе ПМ нет индексных файлов)
В прочих дистрах - усли сунуть такой модуль в середину ауфс - сломается база ПМ

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #4 : 08 Ноябрь 2018, 12:42:35 »
Мы в большинстве случаев в пользовательских модулях базу попросту удаляем. Здесь ключик под это действие не прикрутить, у каждого ПМ свои базы, но как-то так можно я думаю.
chroot2pfs -o nano.xzm --command 'urpmi nano && rm -rf /var/lib/rpm && rm -rf /var/lib/urpmi'
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #5 : 09 Ноябрь 2018, 19:54:30 »
Сделал прототип. Лежит в v4. В ПРА совсем не проверял еще, в магос работает.
chroot2pfs -o nano.xzm --command urpmi nano   - (собирает модуль c nano  в магос)
У вас будет наверное так:
chroot2pfs -o nano.pfs --command pacman -S  nano
Но что сработает не гарантирую, надо проверять.
Еще одна фишка. Перенес из нашего urpm2pfs
chroot2pfs nano.pfs - пересоберет поновой модуль из репы по сохраненным внутри модуля параметрам -o nano.pfs --command pacman -S  nano
Задолбался вспоминать как модули были собраны чтоб пересобрать с обновлениями и запилил такую штуку. У нас даже с локальными rpm работает,  но тут сложнее с этим.
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 827
  • Репутация: +39/-0
Re: chroot2pfs
« Ответ #6 : 09 Ноябрь 2018, 20:14:32 »
chroot2pfs -o nano.pfs --command pacman -S  nano
Правильно ли я понимаю, что можно будет разморозить репу в фругале, а потом пересобрать все модули с chroot2pfs. Если так, то приветствую обоими руками. Фругал меня устраивает полностью, но и новое ПО хочется, время от времени. :)

P.s. Готов даже тестировать.
« Последнее редактирование: 09 Ноябрь 2018, 20:16:48 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #7 : 09 Ноябрь 2018, 20:41:04 »
Тестить конечно надо, но если особо опыта нет лучше дождитесь когда мы с Sfs хотябы заведем это в ПРА.
Про заморозки/разморозки я не особо в теме. Утилита приблизительный аналог pacman2pfs (не помню точно как называется у вас), но со своими фишечками. Пересоьираемые модули одна из них.
Вот собрали вы модуль, он у вас работает через какое то количество обновлений системы он работать перестает, либы сменились или еще чего. Вы просто берете и запускаете chroot2pfs модуль.pfs и все.
Ничего фантастического тут нет просто в модуле хранятся параметры с коьорыми вы запускали chroot2pfs при сборке.
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23740
  • Репутация: +173/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #8 : 10 Ноябрь 2018, 10:21:32 »
chroot2pfs -o nano.pfs --command pacman -S  nano
Не работает. initvar уже есть в pfs - зачем продублировано?
Если я правильно разобрал код :
1. модуль распаковывается
2. монтируется в свой aufs
3. chroot в него
Или проглядел где туда же корень или еще что-то монтируется или не понятно, откуда в этом чруте возьмется ПМ

В ПРА в каждом непортированном модуле хранится список пакетов. Поэтому пересобрать просто : pacman2pfs `pfspkg старый.pfs`
Если и у Вас так же - не понимаю зачем чрут. Просто собрать новый модуль по списку пакетов старого

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #9 : 10 Ноябрь 2018, 10:52:43 »
Собирается новая ауфс из точек монтирования сквошей системных модулей. Сейчас из всех, после будет маска. Создаются /proc, /dev, /tmp и тд. в новой ауфс. Теперь чрутимся туда и выполняем то , что после --command ( не обязательно установка пакетов, что угодно). После размонтируем все и mkpfs  для changes от новой ауфс. Далее  delaufs. Все.
В дальнейшем кроме --command будет еще --script чтоб много комманд выполнить.
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23740
  • Репутация: +173/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #10 : 10 Ноябрь 2018, 11:12:58 »
Собирается новая ауфс из точек монтирования сквошей системных модулей.
Если бы в итоге можно было обновить все модули - какой-то смысл есть. Но нельзя, т.к. change - один на все
Если базовые содержут старые пакеты, а обновляемый модуль получится свежее - он может не работать...
Не догоняю практического смысла. Зачем эти усложнеия
не понимаю зачем чрут. Просто собрать новый модуль по списку пакетов старого

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #11 : 10 Ноябрь 2018, 11:19:58 »
Чрут, чтоб переложить управление зависимостями на штатный ПМ. И не привязывайтесь именно к обновлениям, в   pfs-utils нет утилиты для сборки модуля из пакетов типа urpm2xzm, pacman2pfs так вот это она :)
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23740
  • Репутация: +173/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #12 : 10 Ноябрь 2018, 11:27:29 »
Т.е. система загружена с кучей небазовых модулей
Если собрать модуль из пакетов в такой - на другом комплекте модулей может не работать
А так мы собираем в чруте из ТОЛЬКО базовых модулей
Тогда идея понятна и интересна

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23740
  • Репутация: +173/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #13 : 10 Ноябрь 2018, 11:33:25 »
С pfs v3 должно работать?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1416
  • Репутация: +14/-0
    • Беседка магос
Re: chroot2pfs
« Ответ #14 : 10 Ноябрь 2018, 11:36:31 »
мы собираем модули в чруте по маске, правда пока это не делал.   * или ??-* или [0-3]* или еще как. Надо только решить по  умолчаеию как. *  наверное.
http://magos-linux.ru - форум
https://gitter.im/magos-linux-ru/chat - беседка (чат)