Jak wyodrębnić plik filename.tar.gz


120

Chcę wypakować archiwum o nazwie filename.tar.gz.

Użycie tar -xzvf filename.tar.gznie wyodrębnia pliku. to daje ten błąd:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors

10
file filename.tar.gz"plik" pokaże ci format (jeśli jest zainstalowany), jeśli jest to plik zip, spróbuj unziplub zainstaluj ogólny program do rozpakowywania, np unp..
pce

1
Błąd oznacza, że ​​plik nie jest gzipplikiem, chociaż tak mówi rozszerzenie. Spróbuj unzip filename.tar.gzi gunzip filename.tar.gzzobacz, jaki jest wynik.
Max Leske

1
@Max Leske dzięki za sugestię, ale kiedy spróbowałem gunzip filename.tar.gz, wyświetla komunikat o błędzie:not in gzip format
Kabir

1
@pce file filename.tar.gzpodaje następującą wiadomość: archiwum tar POSIX
Kabir

1
To naprawdę powinno być na alt.se.unix, a nie tutaj.
Cole Johnson

Odpowiedzi:


181

Jeśli wyświetli się file filename.tar.gznastępujący komunikat: archiwum tar POSIX, archiwum jest tar, a nie archiwum GZip.

Rozpakuj tar bez z, jest przeznaczony tylko do spakowania gzipem (skompresowany):

mv filename.tar.gz filename.tar # optional
tar xvf filename.tar

Lub wypróbuj uniwersalny program Unpacker, taki jak unp( https://packages.qa.debian.org/u/unp.html ), skrypt do rozpakowywania wielu różnych formatów archiwów.

określić typ pliku:

$ file ~/Downloads/filename.tbz2
/User/Name/Downloads/filename.tbz2: bzip2 compressed data, block size = 400k

7
Dzięki @pce za wsparcie. twoja odpowiedź jest prawidłowa. tar xvf filename.tar.gz. Mi to pasuje.
Kabir

tar xvf hadoop-2.7.2.tar tar: Ceci ne ressemble pas à une archive de type «tar» tar: Arrêt avec code d'échec à przyczyna des erreurs précédentes
EL missaoui habib

Dzięki. Twoje rozwiązanie nadal działa w sierpniu 2018. :)
GORILLA

14

O ile wiem, polecenie jest poprawne, ZAKŁADAJĄC, że twój plik wejściowy jest prawidłowym plikiem tar spakowanym gzipem. Twoje wyniki mówią, że tak nie jest. Jeśli pobrałeś plik z internetu, prawdopodobnie nie otrzymałeś całego pliku, spróbuj ponownie.

Bez większej wiedzy o źródle twojego pliku nikt tutaj nie będzie w stanie podać konkretnego rozwiązania, a jedynie zgadywanie.


6
To sprawiło, że ponownie przyjrzałem się pobieranemu plikowi. Był z apache, a adres URL kończy się na .tar.gz, więc po prostu go skopiowałem i wkleiłem. Jednak ten odsyłacz nie był przeznaczony do paczki, lecz do strony z listą serwerów lustrzanych dla paczki. Więc przez 30 minut próbowałem rozpakować stronę html. Wtf apache.
eddiemoya

1
Miałem ten problem, dokładnie sprawdź, czy twój plik ma prawidłowy rozmiar, użyj także sumy kontrolnej, jeśli to możliwe.
kiwicomb123

7

Mam ten sam błąd wynik polecenia:

file hadoop-2.7.2.tar.gz

jest hadoop-2.7.2.tar.gz: HTML document, ASCII text

powód, dla którego plik nie jest w formacie gzip z powodu problemów z pobieraniem lub innych.


czy udało ci się to rozwiązać? Mając tutaj ten sam problem.
arilwan

5

Zdarza się to czasami w przypadku plików pobranych za pomocą polecenia „wget”. Zaledwie 10 minut temu próbowałem zainstalować coś na serwerze z poziomu ekranu poleceń i stało się to samo. W ramach rozwiązania po prostu pobrałem plik .tar.gz na mój komputer z Internetu, a następnie przesłałem go na serwer przez FTP. Następnie polecenie „tar” działało zgodnie z oczekiwaniami.


2
hmm, sprawdź dziennik wget, może byłeś przekierowywany czy coś
chrismarx

1

Wewnętrznie tar xcvf <filename>wywoła plik binarny gzipze PATHzmiennej środowiskowej, aby zdekompresować pliki w tararchiwum. Czasami narzędzia innych firm używają niestandardowego pliku gzipbinarnego, który nie jest zgodny z tarplikiem binarnym. Dobrym pomysłem jest sprawdzenie pliku gzipbinarnego w PATHwith which gzipi upewnienie się, że gzipwywoływany jest prawidłowy plik binarny.


0

Tar.gz jest plikiem tar wewnątrz pliku gzip, więc najpierw musisz rozpakować plik gzip gunzip -d filename.tar.gz, a następnie użyć go tardo rozpakowania . Ponieważ jednak gunzipmówi, że nie jest w formacie gzip, możesz sprawdzić, w jakim formacie się znajduje file filename.tar.gz, i użyć odpowiedniego programu, aby go otworzyć.


0

Sprawdź, czy plik jest kompletny. Ten komunikat o błędzie może wystąpić, jeśli plik został pobrany tylko częściowo lub występują w nim poważne problemy. Sprawdź sumę MD5.


0

Innym scenariuszem, który możesz sprawdzić, jest to, że plik, który próbujesz rozpakować, nie jest pusty i jest prawidłowy.

W moim przypadku nie pobrałem pliku poprawnie, po dwukrotnym sprawdzeniu i upewnieniu się, że mam właściwy plik, mogę go rozpakować bez żadnych problemów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.