Jak rozpakować oddzielone pliki TGZ?

13

Otrzymuję ten komunikat o błędzie podczas próby rozpakowania .tgzarchiwum:

$ 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

Jak widać, nazwa pliku kończy się na .tgz.1.

Gdy nazwa pliku to, plik .tgz.0zostanie rozpakowany bez błędu przez tar -zxvfpolecenie.

hitesh
źródło
1
Dlaczego nie zmienić nazwy?
nanofarad,
3
Czy ten plik jest podzielony?
Zignd,
Raczej pobiegłem, file OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.1żeby zobaczyć, co to dokładnie jest.
Nehal J Wani

Odpowiedzi:

10

To właśnie znalazłem po szybkim wyszukiwaniu w Google - PDF wyjaśniający, jak poprawnie wyodrębnić zawartość pliku .

Wygląda na to, że istnieje kilka plików:

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

Musisz na przykład skopiować wszystkie te pliki do określonego katalogu /OVS/seed_pool/. Następnie uruchom następujące polecenia:

# 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

Zauważ, że są to tylko 2 polecenia oznaczone na początku #.

Te polecenia tworzą następującą strukturę katalogów z tymi plikami w środku:

/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

Aby uzyskać więcej pomocy, zapoznaj się z wyżej wymienionym plikiem PDF.

ThiagoPonte
źródło
3

tar.gz/tgzPlik masz jest podzielony na kilka plików. (tgz.0, tgz.1, tgz.2 itd.)

To jest powód, dla którego próbujesz wyodrębnić za pomocą polecenia

tar -zxvf OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz.0

działa poprawnie. Ale zawartość nie będzie w pełni dostępna.

Użyj catpolecenia, aby połączyć wszystkie części OVM_EL5U3_X86_64_EBIZ12.1.1_DB_VIS_PVM.tgz. * W jeden plik tar.gz

następnie użyj polecenia

tar -zxvf OVM_EL5U3_X86_EBIZ12.1.1_DB_VIS_PVM.tgz
devav2
źródło
0

Te dwa polecenia nie działały:

$ 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

To działało dla mnie:

$ 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`

Różnicą było po prostu użycie spacji zamiast \.

użytkownik2367024
źródło