Форум проекта PuppyRus Linux
Разработки проекта PuppyRus => PFS-utils => Разработка PFS и Initrd => Разработка PFS-utils v.3 (устаревшая) => Тема начата: Pro от 24 Апрель 2019, 07:06:11
-
сломался editor_pfs т.к. не стало pfsmerge
-
Я не юзаю. Запустил - не очень понял принцип работы
Кто-то еще юзает?
Pro, починишь?
-
Pro, починишь?
я пытался, не смог
Графическая программа для того чтобы удалить из составного модуля модуль и добавить новый модуль.
-
Графическая программа для того чтобы удалить из составного модуля модуль и добавить новый модуль.
Судя по тому, что мне это не было интуитивно понятно - не самый удобный гуй
Просто распаковал модуль (в графическом ФМ) через гуй
Добавил - убавил модулей в папке
Запаковал так же через гуй
Так чем -то хуже?
Делаю подобное в mc. Но логика простая и такая же как выше описал
Т.к. проблему заметил только ты больше чем через год - никто не юзает. Предлагаю слить
-
Судя по тому, что мне это не было интуитивно понятно - не самый удобный гуй
Если запустить прогу из меню или терминала (editor_pfs), то действительно не понятно что с этим делать (1 скрин).
Если же в ФМ по модулю ПКМ --> открыть --> Редактировать PFS пакеты(ы), то уже понятней (2 скрин).
Хотя создается впечатление, что это разные проги, хоть и называются одинаково.
-
Проги одинаковые, просто первый скрин показывает выбор модуля или модулей которые нужно далее уже редактировать, на следуещем этапе будет уже как на втором скрине.
А из файл-менеджера сразу открывантся окно редактирования, потому что модуль типа уже выбран.
-
Если будете переписывать делайте сразу под v4 с учетом вложенности подмодулей.
-
сломался editor_pfs т.к. не стало pfsmerge
Делаю подобное в mc.
Да, в mc можно спокойно выполнить все те же действия - склеить несколько модулей (mkpfs), перетряхнуть какой-то модуль (editor_pfs).
Вместо pfsmerge в mc запускается mkpfs (если я все правильно понял).
Вроде и в самом editor_pfs прописана возможность запуска mkpfs, но не работает
which pfs && pfsmerge="mkpfs -m" && o="-o" || pfsmerge=pfsmerge
if [ "${CMDRUN}" = "" ]; then
eval '$pfsmerge "$@" $o "${outpfs}" -no-progress --clean -c ${cutpacklist}'
else
eval '$pfsmerge "$@" $o "${outpfs}" -no-progress --clean -a "${CMDRUN}" -c ${cutpacklist}'
Скриншот.
-
не смотрел.
предполагаю.
- ? может-где точки не хватает?
(по крайней мере в Вики-описании - точно - "этой точки" нет.[как-то было - подзамучался] Хотя в консольном-Хелпе есть. ? может с версиями pfs-utils чего поменялось ...)
Я про точку в команде mkpfs - m ./dir-s-modulyami
-----------
правда до сих пор не знаю - как сделать составной модуль, и чтоб внутри него еще был просто-файл.(т.е. как сделать это "автоматизированными" средствами pfs-utils)
-
-c ${cutpacklist}
mkpfs вроде не поддерживает параметр -с (если верить help) потому и разваливается все.
Да, в mc можно спокойно выполнить все те же действия - склеить несколько модулей (mkpfs), перетряхнуть какой-то модуль (editor_pfs).
как видим - нельзя. То что вы делаете в mc - это из набора модулей сделать составной. А мы разбираем вариант, когда из составного модуля удалить-добавить отдельный модуль и pfs сохраняется без этого модуля.
В случае с mc пришлось бы сначала ВАМ распаковать этот составной модуль полностью, потом удалить/добавить нужные модули и заново запаковать составной модуль.
зы. Раз уж pfsmerge убран , пора и пункт в mc переименовать.
-
В mkpfs не хватает какого-то функционала, который был у pfsmerge?
-
В mkpfs не хватает какого-то функционала, который был у pfsmerge?
Получается что так.
Есть editor_pfs, которая является GUI к pfsmerge. Она позволяет на лету редактировать модули (без промежуточной распаковки на носитель).
Скрины проги здесь http://forum.puppyrus.org/index.php?topic=21651.msg156239#msg156239
В самом editor_pfs прописана возможность запуска mkpfs, но не работает (строка 280).
which pfs && pfsmerge="mkpfs -m" && o="-o" || pfsmerge=pfsmerge
if [ "${CMDRUN}" = "" ]; then
eval '$pfsmerge "$@" $o "${outpfs}" -no-progress --clean -c ${cutpacklist}'
else
eval '$pfsmerge "$@" $o "${outpfs}" -no-progress --clean -a "${CMDRUN}" -c ${cutpacklist}'
-c ${cutpacklist}
mkpfs вроде не поддерживает параметр -с (если верить help) потому и разваливается все.
Но ведь mkpfs является преемником pfsmerge? Значит должна быть взаимозаменяемость в скрипте?
mkpfs v.3 (pfsmerge-dir v.2) Неудобства перепаковки составного модуля (http://forum.puppyrus.org/index.php?topic=19579.0)
О pfsmerge на Вики (http://wiki.puppyrus.org/puppyrus/pr218/pfs#pfsmerge)
Прикрепил editor_pfs к сообщению.
-
Логика "вырезания" не вяжется в mkpfs. Правильнее отдельным скриптом сделать. Не думаю что особо востребованная задача, может этот код прямо в editor_pfs запилить, не создавая скрипта в pfs-utils?
Из тех скриптов, что есть сейчас наиболее близкий pfsrebuild, можно к нему дописать как вариант. По сути это же тоже пересборка по спискам, только списки из модуля, а не из системы.
-
А все же, я правильно понимаю, что pfsmerge был слит потому что ему на смену пришел mkpfs? Но тогда почему был урезан функционал?
Логика "вырезания" не вяжется в mkpfs. Правильнее отдельным скриптом сделать.
Из тех скриптов, что есть сейчас наиболее близкий pfsrebuild, можно к нему дописать как вариант.
Можно, но я не потяну, Pro наверно тоже, sfs это не нужно. )
upd. Похоже editor_pfs уже пытались чинить, но наверно не довели до конца.
Правка GUI для pfs-util v.3 (http://forum.puppyrus.org/index.php?topic=20257.0)
-
Слили не потому, что мкпфс пришел на смену. Он и до того был. Просто когда переписали мкпфс с использованием ауфс вдруг оказалось, что он вполне заменяет pfsmerge. Как теперь выяснилось не на 100%.
Как по мне такой функционал вообще не особо нужен. Всегда можно разобрать и собрать. Но если считаете, что надо, то можно дописать. Только не в mkpfs, а в pfsrebuild.
-
Как по мне такой функционал вообще не особо нужен.
Именно этот функционал я использовал при обновлении ядра в системе PuppyRus? удалял старый модуль ядра, добавлял новый.
Всегда можно разобрать и собрать.
ну правильно, когда не знаешь про другой вариант то только так, а pfs модули они такие вот. А еще т.к. из /etc/packages/mount выкинули информацию, то нормально и разобрать-то не получится.
-
А еще т.к. из /etc/packages/mount выкинули информацию
А ведь это основа стандарта pfs.
нормально и разобрать-то не получится.
Когда "в теме", то получится, но о-очень муторно.
-
Когда "в теме", то получится, но о-очень муторно.
этот вариант не рассматриваем
-
Все сколько нибудь серьезные изменения в пфс-утилс обсуждались на форуме. На этом форуме. Pfsmerge нет уже года два, а я только вчера узнал о том, что там еще был ключ "-c", которого теперь нет. Видать очень востребованная функция. Повторюсь, если вам нужно можно вернуть.
Теперь по метаданным. Удалили тоже не вчера, и удалили только для атомарных модулей. На то простая причина. Нет смысла хранить список который легко получить из find bundle или unsquashfs'ом. В контейнерах вся инфа на месте и даже больше чем было учитывая вложенность контейнеров.
-
Теперь по метаданным.
Допустим, объединяю я два атомарных модуля, ну и как их теперь разъединить?
-
Повторюсь, если вам нужно можно вернуть.
видимо не нужно, но как следствие модулей от меня будет еще более меньше.
Pfsmerge нет уже года два, а я только вчера узнал о том, что там еще был ключ "-c", которого теперь нет.
оно так-то документировано вроде было на вики, и в --help, очень сомнительно что взявшись за переделку эти источники не были прочитаны вами.
Теперь по метаданным. Удалили тоже не вчера, и удалили только для атомарных модулей.
ну так это помним, факт признаем и не удивляемся ему.
-
Теперь по метаданным.
Допустим, объединяю я два атомарных модуля, ну и как их теперь разъединить?
ну может при объединении там создастся нужная инфа....
-
ну может при объединении там создастся нужная инфа....
Святым духом создаётся? Я ведь не пользуюсь вашими скриптами, а работаю своими руками. Список файлов (pfs.files, а ещё лучше просто files) должен содержать каждый пакет (или как у вас там - "атомарный модуль"), а составной модуль - список пакетов. Тогда при любом методе обработки все будут довольны.
-
оно так-то документировано вроде было на вики, и в --help, очень сомнительно что взявшись за переделку эти источники не были прочитаны вами.
Видимо пропустил. Но и остальные участники не вспомнили. все жe открыто делалось.
ну так это помним, факт признаем и не удивляемся ему.
И нечему удивляться. Совершенно бесполезная сущность, я и сам не сразу это понял :)
ну может при объединении там создастся нужная инфа....
Именно так.
ведь не пользуюсь вашими скриптами
А зря :), пользуйтесь и все будут довольны. Ваш код там тоже есть :)
-
Только не в mkpfs, а в pfsrebuild.
Есть еще вариант в pfsextract. Там есть ключ -i (install), все найденные по спискам файлы копируюся в корень. Можно сделать аналогичный ключ для запаковки в новый модуль. То есть типа такого:
pfsextract contaner.pfs pac1 pac2 -ключ -o newcontaner.pfs
То есть не дропаем пакет, а наоборот перечисляем те что нужны.
Если в pfsrebuild то получится что-то вроде такого:
pfsrebuild --filesfrom contaner.pfs --listfrom contaner.pfs --drop pack1,pack2 ./contaner.pfs
То есть указываем откуда брать файлы, откуда брать списки, какие списки дропнуть.
pfsrebuild --filesfrom rootfs --listfrom rootfs ./contaner.pfs
Это как сейчас работает. Только все это жестко вшито.
Ну или вариант последний - отдельный скрипт pfscut. Там все просто
pfscut contaner.pfs pack1 pack2
Этот вариант интересен тем, что можно допилить удаление отдельных файлов или папок, а не только списков целиком.
-
пользуйтесь и все будут довольны.
А руки тогда куда?
-
пользуйтесь и все будут довольны.
А руки тогда куда?
Можно, например, приложить к pfs-utils. С Вашим опытом то, точно на пользу пойдет.
-
может этот код прямо в editor_pfs запилить, не создавая скрипта в pfs-utils?
В pfs-util везде гуй - к консольным утилитам, которые можно юзать без него
Это удобно. Лучше так и дальше делать
Подключил - перепаковал с добавлением\убавлением (pfsextract) вместо
Распаковал\запаковал (mkpfs)
pfsextract - актуально только для очень больших модулей.
mkpfs - логика проще и понятнее
Я нормально обхожусь pfsextract. Но если кто-то доделает хуже не будет
-
кто-то доделает хуже не будет
Который вариант то?
-
Подключил - перепаковал с добавлением\убавлением
Хотел написать "консольный " - но засомневался - удобно ли такое в консоле...
Пусть ответят кто юзает
А еще можно сделать возможность использования разных версий пфс одновременно
-
Который вариант то?
Цель - вернуть работоспособность editor_pfs, как было.
Ну или вариант последний - отдельный скрипт pfscut. Там все просто
pfscut contaner.pfs pack1 pack2
Этот вариант интересен тем, что можно допилить удаление отдельных файлов или папок, а не только списков целиком.
Если этот способ видится более интересным и перспективным, то и использовать его. Повторюсь, главное чтобы editor_pfs заработал в прежнем формате.
-
Добавил голосование в шапку темы
-
Вот интересные вы люди. :)
Тему открыл Pro сообщением
сломался editor_pfs т.к. не стало pfsmerge
Причем эта тема оказывается поднималась еще в 2017 году, но по сути была проигноирована
Похоже editor_pfs уже пытались чинить, но наверно не довели до конца.
Правка GUI для pfs-util v.3 (http://forum.puppyrus.org/index.php?topic=20257.0#quickreply)
Поднималась тема опять же Pro
pfsmerge в системе отсутствует, как делать составные модули?
Не работает программа pfs-mk и Редактировать pfs пакеты, т.к. они используют pfsmerge
Т.е. постоянный и активный участник на протяжении нескольких лет, говорит о проблеме, но никому нет и дела :) А сейчас еще и голосование о ненужности editor_pfs?!
Сам я пользовался editor_pfs в начале знакомства с PRA, но мне она показалась неудобной. Сейчас оказывается, что я не знал о всем ее функционале. )
-
Вы все в кучу мешаете. То из 17 года давно решено, не работает конкретная фишка pfsmerge замены которой в текущих скриптах нет. Остальны 98% функций pfsmerge делаются mkpfs'ом быстрее и лучше.
-
Добавил себе в систему pfsmerge, исправил editor_pfs чтобы не искал pfs
pfsmerge тоже пришлось исправить т.к. не стало всяких losetupb, mountb и т.п.
про проблемы в mkpfs c параметром list отписал на гитхабе.
-
Пул реквест забрал. Спасибо. А у вас разве нет прав на запись в пфс-утилс?
Что в итоге делаем то с этим куском пфсмержа?
-
А у вас разве нет прав на запись в пфс-утилс?
в pfs-utils есть, а в новые репозитарии нет. и не нужно.
Что в итоге делаем то с этим куском пфсмержа?
незнаю, на данный момент неработоспособность mkpfs более мешает.
-
исправил editor_pfs
Где можно скачать?
-
На гитхабе видимо, пул реквест искать
-
Ожидал найти модуль editor_pfs.pfs, а нашёл только такое:
https://github.com/pfs-utils/pfs-utils/blob/master/usr/sbin/editor_pfs
:(
-
Это не модуль, а гуи-скрипт. Положить в /usr/local/bin, дав права на выполнение.
Но там старая правка f0b2369 on 28 Apr 2016, возможно это не то. И одного editor_pfs недостаточно:
Добавил себе в систему pfsmerge, исправил editor_pfs чтобы не искал pfs
pfsmerge тоже пришлось исправить т.к. не стало всяких losetupb, mountb и т.п.
-
Хорошо бы кто модулем сделал этот редактор. :-[
-
Хорошо бы кто модулем сделал этот редактор. :-[
его нельзя модулем, точнее эта программа добавляется разработчиками при создании базы дистрибутива.
И что у тебя за сложность положить его в /usr/bin и запихнуть в сохраненку?
-
положить его в /usr/bin и запихнуть в сохраненку
Это всё для меня - суахили. :'(
-
Это всё для меня - суахили.
ну если это "суахили" (положить текстовый файлик в нужную папочку),
тогда не понимаю, зачем Вам этот editor_pfs.
имхо сначала надо базовые знания подтянуть.
-
положить его в /usr/bin и запихнуть в сохраненку
Это всё для меня - суахили. :'(
Копирование файлов это азы компьютерной грамотности. Решайте эту проблему.