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

Автор Тема: Пересборка составного модуля  (Прочитано 4336 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Пересборка составного модуля
« : 26 Январь 2015, 15:11:33 »
Типовая задача: разобрать pfsextract, что-то поправить, собрать обратно pfsmerge
Проблема: долго
Решение: в pfsextract делать модули с gz компрессией (а лучше бы вообще папки). Собирать уже xz и итоговый результат неизменен, а скорость в 4 раза больше
pfsmerge папка1 папка2 модуль.pfs - не работает. По доке и не должен. По встроенному хелпу  [FILE or DIR]. Где правда?
Пока для себя сделал pfsextract-t с gz - посмотрим как приживется
pfsmerge насчет папок не копал (может Zay знает)

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Пересборка составного модуля
« Ответ #1 : 26 Январь 2015, 15:45:36 »
для просто замены элементов в модуле, я использую gui
снимаю флажок у ненужного модуля и все.
ну и если надо добавить то тоже через gui указываю файлы с добавляемыми модулями.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Пересборка составного модуля
« Ответ #2 : 26 Январь 2015, 16:00:34 »
Как это поможет в обозначенной проблеме (ускорит пересборку)... Например мне 1 файл в одном из подмодулей надо поменять
Все gui в pfs-util базируются на консольных аналогах

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Пересборка составного модуля
« Ответ #3 : 26 Январь 2015, 16:03:34 »
я именно модуль и меняю но модуль предварительно надо иметь элементарный, которым будем подменять.
можно и в консоли конечно, получается всего две пересборки модуля - засчет этого и ускорение.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Пересборка составного модуля
« Ответ #4 : 26 Январь 2015, 16:09:30 »
Не догнал. Напиши как это сделать в консоле
Элементарного модуля в моей задаче нет, но и такой вариант интересен

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Пересборка составного модуля
« Ответ #5 : 26 Январь 2015, 16:21:58 »
ну все  через pfsmerge, там есть параметр удаления пакета из составного модуля.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6282
  • Репутация: +141/-0
Re:Пересборка составного модуля
« Ответ #6 : 26 Январь 2015, 16:33:35 »
Типовая задача: разобрать pfsextract, что-то поправить, собрать обратно pfsmerge
Проблема: долго
Т.е. если я правильно понял в одном или нескольких файлах изменилось содержание, но количество файлов и их имена остались прежними, если так, то я раньше для ускорения в PR делал так:
1. Распаковать .pfs в каталог.
2. Внести изменения в файлы.
3. Создать модуль .sfs со сжатием xz.
4. Переименовать .sfs в .pfs. Всё!
Т.к. количество файлов и их имена без изменений, то и /etc/packages не меняется, за счет этого значительно ускорялся процесс, особенно на старых или слабых машинах. Если тоже самое делал через GUI pfs-utis, то время могло отличаться в разы.
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Пересборка составного модуля
« Ответ #7 : 26 Январь 2015, 16:40:44 »
ну все  через pfsmerge, там есть параметр удаления пакета из составного модуля.
Допустим удалил pfsmerge ... --cut pack_1. А как другой вставить?

Про RoDoN способ тоже додумался. Но это частный случай. Давайте считать что вообще 1 элементарный заменить надо на совсем другой

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Пересборка составного модуля
« Ответ #8 : 26 Январь 2015, 16:43:11 »
обратно тем же pfsmerge указываешь полученный модуль с удаленным пакетом и новый пакет добавляемый в модуль
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Пересборка составного модуля
« Ответ #9 : 26 Январь 2015, 17:02:57 »
pfsmerge --сut метод быстрее на время сжатия\расжатия вырезаемого файла
Моя идея с созданием промежуточного модуля с мин. компрессией (а лучше папки) здесь так же даст 4х кратное ускорение
Т.е. делаем pfsmerge-t с gz и
pfsmerge-t -сut ... + обычный pfsmerge для конечного.pfs

Оптимально было бы разжать составной.pfs в папки, поправить  и потом слепить папка_c_папками_распакованных_элем_модулей в конечный.pfs

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re:Пересборка составного модуля
« Ответ #10 : 26 Январь 2015, 18:09:03 »
можно увидеть наглядную последовательность команд с консоли при изменении одного составного модуля если допустить что 2 модуля (составной который включает в себя "заменяемый модуль" и "вставляемый") лежат в одном месте:
Код
ls
./составной_модуль.pfs
./вставляемый_модуль.pfs
в разных вариациях(в том числе и через sfs) с аналогами в гуи например ПКМ->создать модуль pfs (с выводами о рациональности +- того или иного подхода)
привык как-то к схематическому выводу (собираю "копилку" полезных рецептов)
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Пересборка составного модуля
« Ответ #11 : 26 Январь 2015, 18:20:39 »
т.е. привести пример с pfsmerge --сut ?

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re:Пересборка составного модуля
« Ответ #12 : 26 Январь 2015, 18:48:26 »
да только по-разному и как это разное будет влиять на производительность системы
хочется для себя понять какие шаги помогут уменьшить нагрузку на проц до 100% при этом позволят создать пакет максимально легким и быстрым при упаковке/распаковке и подключении.
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Пересборка составного модуля
« Ответ #13 : 27 Январь 2015, 03:24:34 »
какие шаги помогут уменьшить нагрузку на проц до 100%
ты сам понял что написал?
Упаковка всегда идет на максимально доступном колчестве процессоров чтобы быстрее, твое желание чтобы при этом систему не грузило - непонятно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:Пересборка составного модуля
« Ответ #14 : 27 Январь 2015, 10:48:36 »
Уменьшить нагрузку на проц ценой увеличения времени: mksquashfs -processors n или https://ru.wikipedia.org/wiki/Cgroups
Только зачем?

По этой идее (переделать на папки):
Цитата
Моя идея с созданием промежуточного модуля с мин. компрессией (а лучше папки)
есть соображения?