определить формат, используемый в архиве cpio

определить формат, используемый в архиве cpio

Как определить формат, используемый в архиве cpio? Я знаю, что когда мы извлекаем содержимое из архива cpio, он автоматически определяет формат. Однако мне нужно знать, какой формат используется.

Например, у меня есть файл A.cpio, и я хочу извлечь его, что-то изменить, а затем создать новый A.cpio. Мне нужно, чтобы этот новый A.cpioфайл имел тот же формат, что и старый, поскольку функционирующая программа, использующая его, A.cpioможет понимать только некоторые или один из форматов.

решение1

вы ищете fileкоманду

file x y
x: ASCII cpio archive (SVR4 with no CRC)
y: ASCII cpio archive (pre-SVR4 or odc)

согласноman file

файл — определить тип файла

gnu cpio использует следующий формат (см.https://www.gnu.org/software/cpio/manual/cpio.html#format), для использования с-H format

  • 'bin' Устаревший двоичный формат. (2147483647 байт)
  • 'odc' Старый (POSIX.1) переносимый формат. (8589934591 байт)
  • 'newc' Новый (SVR4) переносимый формат, который поддерживает файловые системы, имеющие более 65536 i-node. (4294967295 байт)
  • «crc» Новый (SVR4) портативный формат с добавленной контрольной суммой.
  • 'tar' Старый формат tar. (8589934591 байт)
  • 'ustar' Формат POSIX.1 tar. Также распознает архивы GNU tar, которые похожи, но не идентичны. (8589934591 байт)
  • «hpbin» Устаревший двоичный формат, используемый cpio HPUX (который хранит файлы устройств по-другому).
  • «hpodc» — переносимый формат, используемый cpio от HPUX (который хранит файлы устройств по-другому).

Связанный контент