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

Автор Тема: Составной.pfs из составных pfs  (Прочитано 5367 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Составной.pfs из составных pfs
« : 14 Сентябрь 2020, 11:18:37 »
вроде составные модули можно объдинять\разъединять - т.е. не до уровня одиночных
Надо все это в вики. Пока не забыли
По хелпам и вики не вспомнил как сделать... Напомните

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #1 : 14 Сентябрь 2020, 18:47:50 »
По хелпам и вики не вспомнил как сделать... Напомните
Сперва pfsinfo ./составной_модуль.pfs
там будет список подмодулей, с последними изменениями разделитель между подмодулями - слэш. Раньше было двоеточие. Если прям надо с двоеточием добавил ключик для указания разделителя.
Затем pfsextract модуль.pfs подмодуль/подмодуль/подмодуль1  подмодуль/подмодуль/подмодуль2   
То есть имена подмодулей вписываем так как их показывает pfsinfo.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Составной.pfs из составных pfs
« Ответ #2 : 15 Сентябрь 2020, 09:12:35 »
С этим pfs util у меня не показывает  список подмодулей
Собирать такой модуль надо было mkpfs -m dir_с_составными модулями ?

Как по замыслу юзер должен догадаться про наличие такого функционала? В --help и вики нет
pfsinfo ./составной_модуль.pfs
pfsextract модуль.pfs подмодуль/подмодуль/подмодуль1
Адски неудобно. Удобно:
По умолчанию pfsextract модуль.pfs дает на выходе папку с составными модулями , игнорируя -d
Ну или как-то предупреждать что модуль 2*составной. Иначе юзер распакует на атамарные модули и так и не узнает, что модуль был 2*составной

Что-то сложно получается... Может 2*составной - вообще зло и усложнения
У вас работает?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #3 : 15 Сентябрь 2020, 18:13:48 »
Если склеивать атомарные модули получится составной. Если склеивать составные получится также составной, но у него увеличится глубина вложенности.
Pfsextract без доп. параметров распакует составной модуль на один шаг вглубь. То есть если были склеены атомарные, то получите атомарные, если склеивались составные, то получатся составные, которые можно экстрактить дальше. Что последний раз склеивали, то и получите при распаковке.
Описанный в предыдущем посте функционал нужен, чтоб извлечь модуль (составной или атомарный) независимо от глубины его вложенности.
Это работает, во всяком случае работало :)
Завтра попробую сделать несколько примеров на магос и покажу вывод в консоль. Если у вас не так, то это еще один повод поставить 2008    :)
« Последнее редактирование: 16 Сентябрь 2020, 05:17:46 от betcher »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #4 : 16 Сентябрь 2020, 07:43:35 »
Это список команд с пояснениями, выхлоп частично подрезан там от mksquashfs много лишнего.
Создаем пару папок из которых будум делать модули.
# mkdir -p 1/1
# > 1/1/1
# mkdir -p 2/2
# > 2/2/2
# mkdir -p a/a
# > a/a/a
# mkdir -p b/b
# > b/b/b

Пакуем  1+2 и a+b.

# mkpfs 1 2 -o 12.xzm
# mkpfs a b  -o ab.xzm

Получили два контейнера 12.xzm, ab.xzm
Усложним задачу. Создадим еще две папки и смержим их в эти модули.

# mkdir -p 3/3/
# > 3/3/3
# mkdir -p c/c
# > c/c/c
# mkpfs ab.xzm c -o abc.xzm
# mkpfs 12.xzm 3 -o 123.xzm

Теперь у нас два контейнера 123.xzm abc.xzm с двойной вложенностью.
Смержим их друг с другом.

# mkpfs abc.xzm 123.xzm -o abc123.xzm

Переходим к pfsinfo  и распаковке.

# pfsinfo abc123.xzm
123
123/12
123/12/1
123/12/2
123/3
abc
abc/ab
abc/ab/a
abc/ab/b
abc/c

Все достаточно понятно здесь, как мне кажется.
Распаковываем без доп.параметров.
# pfsextract abc123.xzm
# ls abc123
123.xzm  abc.xzm

Получили два контейнера из которых склеивался abc123.xzm

Достаем конкретные модули с разных уровней вложенности.
# rm abc123/*
# pfsextract abc123.xzm abc/ab/b 123/3
# ls abc123
3.xzm  b.xzm

Достанем контейнер из контейнера.
# rm abc123/*
# pfsextract abc123.xzm abc/ab
# pfsinfo abc123/ab.xzm
a
b

Все ровно как ожидалось. Версия pfs-utils из ветки pfsget, замену раделителя ":" на "/" вроде еще не мержил в v4, это нужно было для поддержки ":" в именах подмодулей.
« Последнее редактирование: 16 Сентябрь 2020, 07:51:07 от betcher »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Составной.pfs из составных pfs
« Ответ #5 : 16 Сентябрь 2020, 10:05:07 »
# mkpfs abc.xzm 123.xzm -o abc123.xzm
Почему-то у меня на выходе папка, а не модуль
В аттаче скрипт и результат его выполнения в прар2008 с обновленным пфс

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #6 : 16 Сентябрь 2020, 10:11:36 »
Почему-то у меня на выходе папка, а не модуль
Видимо потому, что .xzm. В вашем случае расширение должно быть pfs.
Попробуйте так:
Код
#!/bin/sh 
EXT=$1
#Это список команд с пояснениями, выхлоп частично подрезан там от mksquashfs много лишнего.
#Создаем пару папок из которых будум делать модули.
 mkdir -p 1/1
# > 1/1/1
 mkdir -p 2/2
# > 2/2/2
 mkdir -p a/a
# > a/a/a
 mkdir -p b/b
# > b/b/b
#exit
#Пакуем  1+2 и a+b.

 mkpfs 1 2 -o 12.$EXT
 mkpfs a b  -o ab.$EXT

#Получили два контейнера 12.xzm, ab.xzm
#Усложним задачу. Создадим еще две папки и смержим их в эти модули.

 mkdir -p 3/3/
# > 3/3/3
 mkdir -p c/c
# > c/c/c
 mkpfs ab.$EXT c -o abc.$EXT
 mkpfs 12.$EXT 3 -o 123.$EXT

#Теперь у нас два контейнера 123.xzm abc.xzm с двойной вложенностью.
#Смержим их друг с другом.
 mkpfs abc.$EXT 123.$EXT -o abc123.$EXT
exit

./скрипт pfs
« Последнее редактирование: 16 Сентябрь 2020, 10:24:37 от betcher »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Составной.pfs из составных pfs
« Ответ #7 : 16 Сентябрь 2020, 10:27:45 »
Да. Переделал скрипт, но дальше - не то
Код
# pfsinfo abc123.pfs 
123
12
1
2
3
abc
ab
a
b
c

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #8 : 16 Сентябрь 2020, 10:44:18 »
Да, не правильный выхлоп.
Pfs-utils из ветки pfsget?

P.S. Дайте ссылку на сборку в которой лучше тестировать.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Составной.pfs из составных pfs
« Ответ #9 : 16 Сентябрь 2020, 11:17:46 »
Pfs-utils из ветки pfsget?
да
http://forum.puppyrus.org/index.php?topic=21961.msg171370#msg171370
Дайте ссылку на сборку в которой лучше тестировать.
http://forum.puppyrus.org/index.php?topic=19901.msg171247#msg171247
Заодно и uird посмотрите

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #10 : 16 Сентябрь 2020, 12:02:19 »
# ./test.sh pfs
# pfsinfo abc123.pfs
123
123/12
123/12/1
123/12/2
123/3
abc
abc/ab
abc/ab/a
abc/ab/b
abc/c

# pfsextract abc123.pfs 123 abc/ab
# ls abc123
123.pfs  ab.pfs

Это ваш исо. Все нормально.
« Последнее редактирование: 16 Сентябрь 2020, 12:29:20 от betcher »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Составной.pfs из составных pfs
« Ответ #11 : 16 Сентябрь 2020, 12:27:35 »
Это ваш исо. Все нормально.
С этим пфс или без?

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #12 : 16 Сентябрь 2020, 12:31:49 »
Поставил devx, качнул гитом и скопировал скрипты в /usr/local/bin.
По лишним строкам из соседней темы тоже не смог подтвердить.
Тестовый скрипт перевыложил, там папки без файлов создавались, поправил.
ЗЫ. Однако и косячек есть. При распаковке почему то каталог называется prar2008, а должен по имени распаковываемого модуля.
« Последнее редактирование: 16 Сентябрь 2020, 12:33:58 от betcher »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: Составной.pfs из составных pfs
« Ответ #13 : 16 Сентябрь 2020, 12:37:28 »
загадочно... перепроверю на исо в виртуалке...

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: Составной.pfs из составных pfs
« Ответ #14 : 16 Сентябрь 2020, 13:30:35 »
Однако и косячек есть
Вроде починил. Забирайте последние правки.