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

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

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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: chroot2pfs
« Ответ #105 : 27 Ноябрь 2018, 18:22:20 »
А в чем разница между выполнить команду urpmi nano в чруте, а за ней выполнить встроенный скрипт?
Передать chroot, что надо выполнить две команды подряд не так просто как оказалось.
Мне кажется  trim надо делать не в чруте, а в итоговой папке. В чруте же с тенями надо заморачиваться.
Во встроенном скрипте смысл не только в удалении ненужного, но в первую очередь в выплнении серии действий в чруте.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #106 : 28 Ноябрь 2018, 09:39:10 »
второй строкой после ша-банг вставляется команда которую мы передали chroot2pfs.
Чем это будет лучше обработки выходной папки после выхода из chroot
Предлагаю вставить вызов http://forum.puppyrus.org/index.php?topic=21214.msg150870#msg150870 в chroot2pfs перед mkpfs
Ну и доработать дод не арч
Во встроенном скрипте смысл не только в удалении ненужного, но в первую очередь в выплнении серии действий в чруте.
--command bash и делайте что нужно хоть внутри чрута, хоть извне

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: chroot2pfs
« Ответ #107 : 28 Ноябрь 2018, 10:23:10 »
Баш в чруте это понятно. Но введенные вами команды не сохранятся и модуль получится не пересобираемым. Разве что из history скрипт делать :)
По трим. Если трим бует выполняться не в чруте, то встроенный скрипт не нужен и его можно выпилить. Предлагаю такой вариант тогда. Trim ( сокращенный) делаем функцией в pfs и допиливаем mkpfs'у ключ --trim, который нам все и почистит перед  mksquashfs. Соответственно у chroot2pfs тоже делаем ключ  --trim, который просто передается mkpfs'у.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #108 : 28 Ноябрь 2018, 11:19:47 »
Если трим бует выполняться не в чруте
Чем это лучше....
введенные вами команды не сохранятся и модуль получится не пересобираемым.
Я собирал пра1811 так : chrot2pfs -mklist ... -command pacman -S
Из полезной инфы для меня здесь список -mklist, который сохраняется
Далее trim-chroot удаляет точно ненужное
Далее , при желании, trim
mkpfs
Если нужно что-то прикрутить не через пакеты - для этого отдельный модуль вверху ауфс

В итоге - в пра проще  добавить trim-chroot в trim
И для других дистров - делать свой trim и юзать его в составе аналогов pacman2pfs
Так будет универсальнее

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: chroot2pfs
« Ответ #109 : 28 Ноябрь 2018, 11:27:27 »
Прочитал дважды - не понял. Поясните еще раз.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #110 : 28 Ноябрь 2018, 11:50:20 »
введенные вами команды не сохранятся и модуль получится не пересобираемым.
Имел ввиду , что в стандартном модуле не должно быть ничего кроме пакетов. Список которых сохраняется в ключах pacman2pfs
Не надо там больше ничего делать - для этого отдельный рукодельный модуль
Это было не понятно или про трим?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: chroot2pfs
« Ответ #111 : 28 Ноябрь 2018, 11:57:05 »
про chroot-trim не понял.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: chroot2pfs
« Ответ #112 : 28 Ноябрь 2018, 12:40:11 »
Имел ввиду , что в стандартном модуле не должно быть ничего кроме пакетов. Список которых сохраняется в ключах pacman2pfs
Это да, в стандартной ситуации должно быть не сложнее chroot2pfs -o nano.pfs --command pacman -S nano
А вот в нестандартной что-то типа этого.
chroot2pfs -o httpd.pfs --script httpd.sh
с таким приблизительно скриптом:
#!/bin/bash
pacman -S httpd
pacman -S mysql
rm -f /etc/passwd
rm -f /etc/shadow
rm -rf /var/www
mkdir -p /etc/rc.d/rc.local.MagOS
echo "#!/bin/bash " > /etc/rc.d/rc.local.MagOS/httpd
echo "adduser www-data" >> /etc/rc.d/rc.local.MagOS/httpd
chmod +x /etc/rc.d/rc.local.MagOS/httpd

И вот это уже сохранится и при пересборке с chroot2pfs httpd.pfs соберется ровно также.

Так что на счет trim в либу pfs? Пробуем.
Потом используем так:
mkpfs --trim ./dir
или
chroot2pfs -o mod.pfs --trim --command pacman -S proga





Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: chroot2pfs
« Ответ #113 : 28 Ноябрь 2018, 12:42:48 »
Предлагаю такой вариант тогда. Trim ( сокращенный) делаем функцией в pfs и допиливаем mkpfs'у ключ --trim, который нам все и почистит перед  mksquashfs.
Мне кажется хороший вариант
Соответственно у chroot2pfs тоже делаем ключ  --trim, который просто передается mkpfs'у.
Можно для chroot2pfs сделать ключ --no-trim (--notrim), а trim включить по умолчанию. Или вообще сделать оба ключа сразу в mkpfs, а в pfs.cfg задать поведение по умолчанию, но чтоб ключом можно было изменить это.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #114 : 28 Ноябрь 2018, 13:01:12 »
с таким приблизительно скриптом:
На мой взгляд - все кроме пакетов надо в отдельный модуль или опакетить

trim - в пра надо расширенный вариант. Причем в разных случаях с разными ключами
Код
-d - выделить DEV (нужное для только компиляции)
-l - локали
-m - doc, gtk-doc, info, licenses, man и пр.."
Т.е. мне первый трим не помешает, но все равно надо вторым прогонять
chroot2pfs -o mod.pfs --trim --command pacman -S proga
А для чего может понадобиться без --trim ? Т.е. это лучше как минимум по дефолту

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: chroot2pfs
« Ответ #115 : 28 Ноябрь 2018, 13:18:14 »
Т.е. мне первый трим не помешает, но все равно надо вторым прогонять
Можно название поменять чтоб не путаться.
А для чего может понадобиться без --trim ? Т.е. это лучше как минимум по дефолту
Тогда --notrim как Ильфат предложил.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #116 : 28 Ноябрь 2018, 13:25:07 »
Можно название поменять чтоб не путаться.
Как тут запутаться. Маленький трим только так : pfs trim можно запустить
Только нужен ли он не для chroot2pfs. Хотя и не помешает

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: chroot2pfs
« Ответ #117 : 28 Ноябрь 2018, 13:28:59 »
trim - в пра надо расширенный вариант. Причем в разных случаях с разными ключами

-d - выделить DEV (нужное для только компиляции)
-l - локали
-m - doc, gtk-doc, info, licenses, man и пр.."

 Именно для PRA trim уже не так актуален после добавления glob разработчиками пакмана. Только для DEV при компиляции, это уже makepkg.
 Неактуален, потому что все команды трима можно прописать в pacman.conf - NoExtract.
http://forum.puppyrus.org/index.php?topic=19919.msg150861#msg150861

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: chroot2pfs
« Ответ #118 : 28 Ноябрь 2018, 13:38:53 »
все команды трима можно прописать в pacman.conf - NoExtract
Ключами трима управлять удобнее и в NoExtract очень урезанный regex
Посмотрите как я там локали вырезал
Можно кому как нравится

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: chroot2pfs
« Ответ #119 : 28 Ноябрь 2018, 13:40:48 »
Мне кажется одного универсального трима достаточно для chroot2pfs. Дистро-специфические тримы вы можете через хуки для Pacman делать, а мы через шаблоны для --script. Если шаблоны не подходят для этого, так как работают в чруте, то как идею могу предложить добавить ключ --trim trim.sh, где trim.sh альтернативный трим, который тоже сохраняется в модуль для пересборки и работает после чрута, как собственно и встроенный трим, но с этим ключом встроенный естественно отключается. А --notrim будет просто отключать встроенный универсальный трим, например просто проверить пересобрать модуль без трима в случае каких-то непонятных глюков. Так сказать исключить трим как виновника.