Как создать cpio-архив формата New ASCII Format?

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
жучара
Сообщения: 1051
ОС: астралинукс

Как создать cpio-архив формата New ASCII Format?

Сообщение жучара »

Друзья! Вот здесь описание этого формата
https://people.freebsd.org/~kientzle/libarchive/man/cpio.5.txt

такой cpio-архив будет иметь впереди сигнатуру 070701. Если cpio подать на вход такой файл, она его обработает успешно, но создать подобный не сможет. В мане и здесь перечислены форматы файлов, который она может создавать, списки форматов одинаковые. Я поочерёдно создавал cpio-архив каждого формата и смотрел синатуры, 070701 нигде нет.:

Shell

$ echo bar | cpio -o -H bin 2>/dev/null | head -c 3 | xxd -p
c77116
$
$ echo bar | cpio -o -H odc 2>/dev/null | head -c 3 | xxd -p
303730
$
$ echo bar | cpio -o -H newc 2>/dev/null | head -c 3 | xxd -p
303730
$
$ echo bar | cpio -o -H crc 2>/dev/null | head -c 3 | xxd -p
303730
$
$ echo bar | cpio -o -H tar 2>/dev/null | head -c 3 | xxd -p
626172
$
$ echo bar | cpio -o -H ustar 2>/dev/null | head -c 3 | xxd -p
626172
$
$ echo bar | cpio -o -H hpbin 2>/dev/null | head -c 3 | xxd -p
c77116
$
$ echo bar | cpio -o -H hpodc 2>/dev/null | head -c 3 | xxd -p
303730
$
Сабж. Спасибо, кто откликнется. Debian 12.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5372
ОС: Gentoo

Re: Как создать cpio-архив формата New ASCII Format?

Сообщение /dev/random »

жучара писал(а):
16.07.2024 01:25
070701 нигде нет
жучара писал(а):
16.07.2024 01:25
303730
Читайте внимательно, в мане написано: The string “070701”. Подчёркиваю: строка "070701". Особенно с учётом того, что формат называется "New ASCII Format", подумайте, что это означает? Какими кодами в ASCII обозначаются символы 0, 7 и 1?
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1051
ОС: астралинукс

Re: Как создать cpio-архив формата New ASCII Format?

Сообщение жучара »

/dev/random, а ну да. Тогда надо так:

Shell

$ echo bar | cpio -o -H newc 2>/dev/null | head -c 6 | hexdump -v -e '"%_p"'
070701$
$
Я просто читаю маны.
Спасибо сказали: