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
Kabir
źródło
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
szt
źródło
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.

thelr
źródło
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.

EL missaoui habib
źródło
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.

Volkan
źródło
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.

Anton Paule
źródło
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ć.

built1n
źródło
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.

mcragun
źródło
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.

David Castro
źródło