Как распаковать отдельные tgz файлы?

13

Я получаю это сообщение об ошибке при попытке распаковать .tgzархив:

$ tar -zxvf OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.1
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Как видите, имя файла заканчивается на .tgz.1.

Когда имя файла будет, .tgz.0оно будет распаковано без ошибок tar -zxvfкомандой.

Hitesh
источник
1
Почему бы не переименовать его?
нанофарад
3
Этот файл разделен?
Zignd
Я скорее побежал file OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.1посмотреть, что именно.
Нехал Дж Вани

Ответы:

10

Это то, что я нашел после быстрого поиска в Google, PDF-файла, объясняющего, как правильно извлечь содержимое файла .

Похоже, есть несколько файлов:

OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.0
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.1
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.2
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.3
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.4
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.5
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.6
OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.7

Например, вам нужно скопировать все эти файлы в определенный каталог /OVS/seed_pool/. Затем выполните следующие команды:

# cd /OVS/seed_pool
# cat OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.0 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.1 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.2 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.3 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.4 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.5 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.6 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.7 | tar -xz

Обратите внимание, что это только две команды, обозначенные как стартовые #.

Эти команды должны создать следующую структуру каталогов с этими файлами внутри:

/OVS/seed_pool/OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM
|
|- System.img (OS image file)
|- ebs1211db.img.img (Oracle E-Biz 12.1.1 DB Tier image file)
|- vm.cfg (VM configuration file)
|- README.txt

Для получения дополнительной помощи, пожалуйста, посмотрите в PDF, упомянутый выше.

ThiagoPonte
источник
3

tar.gz/tgzФайл вы имеете расщепляется на несколько файлов. (tgz.0, tgz.1, tgz.2 и т. д.)

Так вот почему вы пытаетесь извлечь с помощью команды

tar -zxvf OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.0

это работает правильно. Но содержимое не будет полностью доступно.

Используйте catкоманду, чтобы объединить все части OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz. * В один файл tar.gz.

затем используйте команду

tar -zxvf OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz
devav2
источник
0

Эти две команды не работали:

$ cat OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.* |  tar zxvf - 
stdin: not in gzip format\ntar: Child died with signal 13\ntar: 
Error is not recoverable: exiting now\ncat: write error: Broken pipe\n’, None

$ cat OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.0 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.1 \
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.2  | | tar -xz  `
cat: OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.1 No such file or directory\ncat:
 OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.2

Это сработало для меня:

$ cat OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.0 OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.1 
OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz.2  | tar -xz`

Разница была только в использовании пробела вместо \.

user2367024
источник