(В PRA именно так)В пра и ддр в.3 + chroot2pfs (старый из в4)
https://github.com/pfs-utils/pfs-utils-cli/blob/v4/project-files/usr/bin/umountfile
Когда тестировал chroot2pfs поставил себе сразу весь пакет pfs-utils-cli-4 со всеми фиксами и отвалилась функция отмонтирования модуля.
В магос 4? Насколько он "только для разработчиков"Да, в магос 4. Косяков вроде давно не всплывало. Селфтест проходит, а значит базовый функционал в норме. Прогоните у себя.
Давайте вспомним отличия от в3Уже сложно вспомнить ;).
+ syschangesЧто это и ккак заюзать?
+ addmemory
сохранение дублирующихся файлов при склеивании модулей.Отключаемо? как?
Сейчас в связи с тем, что после ядер 4.9 своп толком не работает addmemory под вопросом, раньше частенько выручал.С этим вроде решилось. Во всяком случае в магос своп заработал нормально с августа. Не мы то есть решили, а в ядре что-то починили )))
Нужно ли учитывать тени в модулях при их объединении?Вообще-то в модулях теней быть не должно, их место в save. Отсюда следует, что при перепаковке надо учитывать тени из save.
Сперва ищет $(dirname $0)/pfsок
Нужно ли учитывать тени в модулях при их объединении? И может ли это как-то помешать.Функционал удаления через тени пригодится и не могу придумать ситуаций когда помешает
пригодится и не могу придумать ситуаций когда помешаетВот я тоже не придумал, но решил сперва посоветоваться. Тогда делаем и неотключаемо?
У нас в форуме ещё такой возник вопрос. Нужно ли учитывать тени в модулях при их объединении?
Тогда делаем и неотключаемо?Посмотрел код, похоже уже так и сделано :) В addlayer слои подключаются с ro+wh.
При объединении модулей где могут быть тени возможны варианты
1) file + .wh.file = .wh.file
2) .wh.file + file = .wh.file + file
3) .wh.file + file + .wh.file = .wh.file
А вы как их клеите? С mkpfs в итоговом модуле теней не будет.
Мне кажется, что если возникает такая проблема, то нужно не тени в ручную разруливать, а разбираться как это возникает и менять логику. Тенями должна заниматься ауфс.
find /tmp/savesfs-root -mindepth 2 -name .wh.* | while read WH
do
F=$(echo $WH | sed 's/\/tmp\/savesfs-root//;s/.wh.//g')
if [ -e "/initrd/pup_rw$F" ]; then
rm $WH #если удалённый файл заново создан, удаляем .wh.*
else
[ -e "/tmp/savesfs-root$F" ] && rm -r /tmp/savesfs-root$F #если ранее сохранённый файл удалён, удаляем его.
fi # если .wh.* относится к нижним слоям - ничего не делаем
done
Ингваро, может чего-то упускаю, но мне кажется что для решения ваших проблем с тенями достаточно перед тем как сохранять изменения в новый модуль мержить старый модуль с обновлениями с системным.
То есть mkpfs sys.xzm update.xzm -o newsys.xzm
И писал я не в pfs а еще старой утилитой от МагОСБез ключей -l и -w теней в модуле не будет, а с ключами работает аналогично dir2xzm. Тут именно логику работы с сохранениями нужно продумать, вылавливать тени не хороший вариант.
Как я понимаю name это единственная обязательная строка в спеке.а зачем она?
mkpfs --listНе понял, что это... В вики и https://github.com/pfs-utils/pfs-utils-cli/blob/pfsget/project-files/usr/bin/mkpfs
mkIlst --> mklistтогда надо поправить в гит и дописать в вики
дописать в викиДописал
—mklist - добавить файлы в несоставной модуль.pfsТ.е. юзать mkpfs —mklist /dir/file1 /dir/file2 mod.pfs ?
mkmeta - может лучше mklist - более понятно
Это вместо mkpfs -d - и кстати там можно переделать
И остальное тоже в функцию
От mkpfs останется :
mklist ; mksfs
добавить в несоставной модуль.pfs списки файлов (как в составном)норм?
юзер sfs выкинул ее "за ненадобностью"А зачем может быть нужен на практике список файлов в несоставном модуле?
Вроде получилось починить, за одно и некоторые специальные символы в именах модулей и подмодулей (:+=,#*). Все изменения в ветке pfsget, делать сразу в двух ветках не удобно, если пройдет проверки у вас в prar предлагаю слить бранч pfsget в мастер, кроме этих изменений там только pfsget, который на работу остальных утилит не влияет.Модуль для тестирования в моих дистрах в аттаче
Я не знаю точно используется ли где-то у вас этот name=тоже не помню
По задумке это для сборки pfs такими какие они были в v3 и раньше, то есть со списками файлов.this и удивительно что про это забыли.
3 года назад убрали списки в несоставном модуле. Никто не вспомнил, кроме Pro только сейчасале-на а чего вспоминать, ошибку поправили, чтоб не перезаписывал. Еще я делал исправление (на гитхабе коммит есть) чтобы не перезаписывало файл spec если он уже присутствует (тоже поди на двух страница разжовывали sfs зачем это нужно).
Что делаем с name в спеке.с name вобще непонятная штука, если вот в таком виде name= оно нигде не требуется, то может лучше нейтральную фразу вписывать типа, "В этом файле должно находится описание для pfs" на английском конечно.
Как сейчас или как говорит Pro?
смержить пфсгет в мастер (полностьюок
завести ветку v5 для разработкиЕсть новые идеи?
Есть новые идеи?Можно слить все, кроме самого скрипта pfsget и его конфигов, он и будет идеей для v5.
"работает - не трогай"
очень хороший подход, не мог ты его лет 5 назад применить и не писать ничего."работает - не трогай"
очень хороший подход, не мог ты его лет 5 назад применить и не писать ничего.А как же прогресс :)
оно не только не работает, но и пользы никакой
я уже все что нужно тут изложилПеречитал. Не понял. Как вы этот спек используете? Что туда нужно писать? В том виде как было или как сейчас смысла в спеке не вижу. Если спек к примеру переименовать не изменится вообще ничего.
Как вы этот спек используете?Никак. Спек, это слишком горомко сказано, сравните с настоящим (https://www.altlinux.org/SpecTips). Можно было назвать и поскромнее, например "info.pfs". Единственное применение, которое можно придумать, список атомарных модулей в составном, для последующего удаления составного модуля из "тематического".
Единственное применение, которое можно придумать, список атомарных модулей в составном, для последующего удаления составного модуля из "тематического".Не понял идею. Сейчас сохраняется вся информация о вложенности. Можно делать многоуровневые контейнеры и извлекать как атомарные модули так и контейнеры из контейнеров.
Сейчас сохраняется вся информация о вложенности. Можно делать многоуровневые контейнеры и извлекать как атомарные модули так и контейнеры из контейнеров.Я как раз про это и говорю.
Я как раз про это и говорю.Тогда не актуально. Это уже работает и без спека.
плохо что не понял, в самом начале объяснял что этот файл для описания программ которые в pfs. и предполагалось это использовать типа для построения списка программ с описаниями на сайте или в системе. типа pfsinfo и все такое.я уже все что нужно тут изложилПеречитал. Не понял. Как вы этот спек используете? Что туда нужно писать? В том виде как было или как сейчас смысла в спеке не вижу. Если спек к примеру переименовать не изменится вообще ничего.
Договоритесь как вам нужно я так и сделаю.
плохо что не понялСогласен. Отвратительно.
Простой вопрос - жуем неделю.Добро пожаловать на http://forum.puppyrus.org :) :'(
Такой вариант устроит всех?да
Такой вариант устроит всех?Сделал. Пока в ветке pfsget. Как проверите смержим.
Как проверитеВ прар2008 selftest проходит
для чего-то нужен?Не помню. Надо убрать и посмотреть где отвалится :)
Вывод путей после --processing для чего-то нужен? Может уберем?Гм. А у меня этих путей вроде нет. Когда появляются?
при создании составного pfs из нескольких pfs очевидноНа скрине pfsextract. Но у меня в магос нет этих строк, --processing и затем сразу запаковка модуля. Потому и спрашиваю.
Тогда , наверное самое простое автору 4 версии посмотреть prar2008 c модулем из аттача (это гит соответствующей даты)Эх. Придется качать похоже...
let: not foundпочинил 089-upd-2008-sf14.pfs (http://mirror.yandex.ru/puppyrus/roll/2008/pfs/089-upd-2008-sf14.pfs)
Надо починить
Починил, в ветке pfsget.А почему не в мастер, если это признанный баг?
А почему не в мастер, если это признанный баг?Потому что сперва все изменения вносим в ветку где ведется разработка, а потом бэкпортируем (или нет) в мастер. А то будет как с v3 -> v4, когда коммиты терялись.
Какая-то лажа осталась.теперь перепаровка - норм, но при распаковке создается .info
ОшибкаВидимо. Посмотрю.
Ошибка или "концепция изменилась"?У меня не проявляется. И по коду вроде не должно. Или мы концепцию по разному понимаем :)
Редактировать сообщение
мы концепцию по разному понимаемда
C ключем -d но без списка подмодулей (то есть при полной распаковке в папки) появляется файлА зачем он нужен, если и так все папки перед глазами
будет сигналом, что вложенность естьpfs.list
На мой взгляд его надо оставлять только для вложенных. Тогда он будет сигналом, что вложенность естьСделал так.
Запутался. В каком гит? мастер?Нет пока. Забыл если честно. В пфсгет.
syschanges - утилита для отслеживания изменений в системе.Чот не работает. Запускается, создает пустую папку ~/syschanges_224229 и закрывается. Для наглядности запускал с time (скрин).
live@pra-roll /tmp % sudo syschanges
Создается контрольная точка, ожидайте.
Списки готовы. Копируем файлы...
Хотел глянуть, что там с mime в prar и куда пишет ФМТут (http://forum.puppyrus.org/index.php?topic=15480.0) это плохо расписано? Давайте доработаем
neobht забросил uird?По pfs-util аналогичный вопрос. По багрепортам ждать реакции?
оба раза, от заявления об ошибке до ее решения, прошло очень много месяцев, что не совсем комильфоИ с pfs-util надо как-то определиться. Я уже откатился на 3 версию, т.к. в 4 баги не правится
pfs-utils из bariumВозможно, там закрытая лицензия
поддержка overlayЭто хоть как-то интересно на перспективу, но только после заката ауфс (которого пока не наблюдаю). 6 ядро скомпилил без проблем
Ну так и используйте что вам удобнее. Пока оба варианта доступныЭто хоть как-то интересно на перспективу, но только после заката ауфсОглянитесь вокруг, многие уже используют overlay - barium, DebianDog, на en-форуме puppy..., я тоже.
Скольким юзерам в обычном использовании нужно именно переподключать модуль в самом нижнем слое? Раз-два и обчелся. Так что все преимущества aufs редко используются по сути. А вот преимущество overlay, что готовых бинарных ядер навалом, выбирай по 'вкусу'.
Но я уже повторяюсь, все это писал уже неоднократно.