วิธีการแตกไฟล์ filename.tar.gz


120

ฉันต้องการแยกไฟล์เก็บถาวรชื่อfilename.tar.gz.

การใช้tar -xzvf filename.tar.gzไม่แตกไฟล์ มันให้ข้อผิดพลาดนี้:

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

10
file filename.tar.gz"file" จะแสดงรูปแบบ (หากติดตั้ง) หากเป็น zip ให้ลองunzipหรือติดตั้งเครื่องแกะกล่องทั่วไปเช่นunp.
pce

1
ข้อผิดพลาดหมายความว่าไฟล์ไม่ใช่gzipไฟล์แม้ว่าส่วนขยายจะระบุเช่นนั้นก็ตาม ลองunzip filename.tar.gzและgunzip filename.tar.gzและดูสิ่งที่ส่งออกเป็น
Max Leske

1
@Max Leske ขอบคุณสำหรับคำแนะนำของคุณ แต่เมื่อฉันลองgunzip filename.tar.gzมันให้ข้อความแสดงข้อผิดพลาด:not in gzip format
Kabir

1
@pce file filename.tar.gzให้ข้อความนี้: POSIX tar archive
Kabir

1
สิ่งนี้ควรอยู่บน alt.se.unix ไม่ใช่ที่นี่
Cole Johnson

คำตอบ:


181

ถ้าfile filename.tar.gzให้ข้อความนี้: POSIX tar archive ไฟล์เก็บถาวรจะเป็น tar ไม่ใช่ไฟล์เก็บถาวร GZip

แกะน้ำมันดินโดยไม่มีzมันมีไว้สำหรับ gzipped (บีบอัด) เท่านั้น:

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

หรือลองใช้ Unpacker ทั่วไปเช่นunp( https://packages.qa.debian.org/u/unp.html ) ซึ่งเป็นสคริปต์สำหรับการคลายไฟล์เก็บถาวรหลากหลายรูปแบบ

กำหนดประเภทไฟล์:

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

7
ขอบคุณ @pce สำหรับการสนับสนุนของคุณ คำตอบของคุณถูกต้อง tar xvf filename.tar.gz. มันใช้ได้กับฉัน
Kabir

tar xvf hadoop-2.7.2.tar tar: Ceci ne คล้ายกับไฟล์เก็บถาวร de ประเภท« tar » tar: Arrêt avec code d'échecà cause des erreurs précédentes
EL missaoui habib

ขอบคุณ โซลูชันของคุณยังคงใช้งานได้ในเดือนสิงหาคม 2018 :)
GORILLA

14

เท่าที่ฉันบอกได้คำสั่งนั้นถูกต้องสมมติว่าไฟล์อินพุตของคุณเป็นไฟล์ tar gzipped ที่ถูกต้อง ผลลัพธ์ของคุณบอกว่าไม่ใช่ หากคุณดาวน์โหลดไฟล์จากอินเทอร์เน็ตคุณอาจไม่ได้รับทั้งไฟล์ลองอีกครั้ง

หากไม่มีความรู้เพิ่มเติมเกี่ยวกับแหล่งที่มาของไฟล์ของคุณก็ไม่มีใครสามารถให้วิธีแก้ปัญหาที่เป็นรูปธรรมแก่คุณได้เพียงแค่การคาดเดาที่มีการศึกษา


6
สิ่งนี้ทำให้ฉันต้องพิจารณาไฟล์ที่กำลังดาวน์โหลดเป็นครั้งที่สอง มันมาจาก apache และ url ลงท้ายด้วย. tar.gz ดังนั้นฉันแค่คัดลอกและวาง อย่างไรก็ตามลิงก์นั้นไม่ได้มีไว้สำหรับ tarball แต่เป็นสำหรับการแสดงรายการหน้าสำหรับ tarball เป็นเวลา 30 นาทีฉันพยายามที่จะแก้ปัญหาหน้า html Wtf apache
eddiemoya

1
ฉันมีปัญหานี้โปรดตรวจสอบอีกครั้งว่าไฟล์ของคุณมีขนาดที่ถูกต้องและใช้การตรวจสอบด้วยถ้าเป็นไปได้
kiwicomb123

7

ฉันมีข้อผิดพลาดเดียวกันกับผลลัพธ์ของคำสั่ง:

file hadoop-2.7.2.tar.gz

คือ hadoop-2.7.2.tar.gz: HTML document, ASCII text

สาเหตุที่ไฟล์ไม่ใช่รูปแบบ gzip เนื่องจากปัญหาในการดาวน์โหลดหรืออื่น ๆ


คุณจัดการเรื่องนี้หรือไม่ มีปัญหาเดียวกันที่นี่
arilwan

5

บางครั้งอาจเกิดขึ้นกับไฟล์ที่ดาวน์โหลดด้วยคำสั่ง "wget" เมื่อ 10 นาทีที่แล้วฉันพยายามติดตั้งบางอย่างไปยังเซิร์ฟเวอร์จากหน้าจอคำสั่งและสิ่งเดียวกันก็เกิดขึ้น วิธีแก้ปัญหาคือฉันเพิ่งดาวน์โหลดไฟล์. tar.gz ไปยังเครื่องของฉันจากเว็บจากนั้นอัปโหลดไปยังเซิร์ฟเวอร์ผ่าน FTP หลังจากนั้นคำสั่ง "tar" ก็ทำงานตามที่คาดไว้


2
อืมตรวจสอบบันทึก wget บางทีคุณอาจถูกเปลี่ยนเส้นทางหรืออะไรบางอย่าง
chrismarx

1

ภายในtar xcvf <filename>จะเรียกไบนารีgzipจากPATHตัวแปรสภาพแวดล้อมเพื่อคลายการบีบอัดไฟล์ในที่tarเก็บถาวร บางครั้งเครื่องมือของบุคคลที่สามใช้gzipไบนารีแบบกำหนดเองซึ่งไม่สามารถใช้งานร่วมกับtarไบนารีได้ มันเป็นความคิดที่ดีที่จะตรวจสอบgzipไบนารีในของคุณPATHด้วยwhich gzipและให้แน่ใจว่าถูกต้องgzipไบนารีที่เรียกว่า


0

tar.gz เป็นไฟล์ tar ที่อยู่ในไฟล์ gzip ดังนั้นอันดับแรกคุณต้องคลายซิปไฟล์ gzip gunzip -d filename.tar.gzจากนั้นจึงใช้tarเพื่อแก้ปัญหา อย่างไรก็ตามเนื่องจากgunzipบอกว่ามันไม่ได้อยู่ในรูปแบบ gzip คุณสามารถดูได้ว่ามันอยู่ในรูปแบบใดfile filename.tar.gzและใช้โปรแกรมที่เหมาะสมเพื่อเปิด


0

ตรวจสอบให้แน่ใจว่าไฟล์เสร็จสมบูรณ์ ข้อความแสดงข้อผิดพลาดนี้อาจเกิดขึ้นได้หากคุณดาวน์โหลดไฟล์เพียงบางส่วนหรือหากมีปัญหาสำคัญ ตรวจสอบ MD5sum


0

สถานการณ์อื่น ๆ ที่คุณต้องตรวจสอบคือไฟล์ที่คุณพยายามแกะไม่ว่างเปล่าและถูกต้อง

ในกรณีของฉันฉันดาวน์โหลดไฟล์ไม่ถูกต้องหลังจากตรวจสอบอีกครั้งและแน่ใจว่าฉันมีไฟล์ที่ถูกต้องฉันสามารถแกะไฟล์ได้โดยไม่มีปัญหาใด ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.