使用tar解壓文件提示gzip: stdin: not in gzip format錯誤


使用tar解壓文件提示gzip: stdin: not in gzip format錯誤

1. 問題描述

使用docker save xxxx > xxx.tar導出鏡像,由於文件太大,需要split -b 3000m xxx.tar來分割文件,刻錄到光盤然后導入到服務器上。

后面使用cat * | tar -xzv來解壓壓縮的鏡像,隨后使用docker load導入鏡像。

開始的幾次都沒有問題,不過昨天同樣的過程,提示gzip: stdin: not in gzip format

2. 問題原因

網上搜了一下,找到了這個網頁,意思是這個文件不是gzip格式的,使用tar -xvf來解壓就好了。於是嘗試了一下,倒是執行成功了,但是解壓出來一堆的文件夾,而不是一個鏡像文件。

於是求教於同事,把上面整個過程重復了一下,然后發現了問題所在。開始幾次沒有問題,是因為我多了一個tar的過程。我把幾個鏡像放入了一個文件夾里,然后壓縮了文件夾;最后一次失敗了,是因為我使用docker save之后直接split了,沒有tar的這個過程。所以解壓的是一個image文件,才會解壓出一堆的文件夾。

3. 解決方式

知道了原因,想解決辦法就好。image文件被split,后面只需要合並就好了,合並后即可load鏡像。命令如下:

cat xx* > image.tar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM