Cara mengatasi kesalahan "tar: invalid magic" di Linux Alpine

22

Saya menginstal sqlite di Alpine Linux. Saya mengunduh sqlite-autoconf-3130000.tar.gztetapi tartidak bisa membukanya. Saya mencoba jawaban ini tetapi tidak berhasil. tarberikan pesan ini:

tar: invalid magic
tar: short read

Saya menulis perintah ini.

wget https://www.sqlite.org/2015/sqlite-autoconf-3090100.tar.gz
tar -zxvf sqlite-autoconf-3090100.tar.gz
siang hari
sumber
Bisakah Anda memperbarui jawaban Anda dengan perintah (dan argumennya) yang Anda coba jalankan.
DarkHeart
1
Apakah unduhan selesai dengan sukses? Jika ya, ls -l sqlite-autoconf-3090100.tar.gzharus memberi tahu Anda bahwa file tersebut berukuran 2284128 byte.
Stephen Kitt
Juga, apakah saat ini file berformat gzip? Beberapa browser melakukan dekompresi sambilan, artinya mungkin masih bernama sqlite-autoconf-3090100.tar.gz tetapi isinya mungkin sebenarnya sqlite-autoconf-3090100.tar. Tidak tahu apakah wget melakukan hal-hal yang sama pintarnya, tetapi mudah diuji dengan meninggalkan zflag dari tar.
Hennes

Jawaban:

21

Cobalah untuk menginstal paket tar (apk add tar). Tar Busybox (default) tidak mendukung semua fitur.

Jakub Jirutka
sumber
3
Saya mengalami masalah yang sama ketika menjalankan perintah tar di Dockerfile dan menginstal tar bekerja untuk saya. Agak membingungkan karena jika Anda menjalankan perintah di shell di wadah, itu berfungsi. Tapi tidak jika itu perintah RUN di Dockerfile tanpa menginstal tar terlebih dahulu. : |
3cheesewheel
7

Ini tidak berarti versi Alpine tartidak kompatibel, seperti yang ditunjukkan Francesco Anda harus benar-benar memeriksa checksum file Anda.

Saya mengalami ini saat melakukan curl https://github.com/someproject/releases/project-1.1.0.gz | tar -xvzfdi Dockerfile saya.

Ternyata apa yang saya lupakan adalah bahwa curlhanya akan mengikuti arahan ulang jika Anda mengizinkannya -L, dan jadi itu tidak pernah sampai ke file yang sebenarnya, itu benar-benar mengunduh html mengatakan bahwa ada redirect. Menambahkan -Ldiizinkan untuk menyimpan file tanpa membengkak wadah saya dengan yang baru tar(di luar "mengasapi" ditambahkan oleh curl).

dragon788
sumber
0

tar: magic tidak valid berarti file rusak.

Silakan periksa md5sum jika cocok ... ini yang saya dapat:

 md5sum  sqlite-autoconf-3090100.tar.gz 
 74931054399a2d7acf35637efe8d6f45  sqlite-autoconf-3090100.tar.gz
Francesco Colista
sumber
0

Saya mendapatkan masalah yang sama dan menyelesaikannya, namun saya tidak yakin Anda menghadapi masalah yang sama.

Kode yang menyebabkan kesalahan :

wget www.example.com/file.tar.gz
tar -zxvf file.tar.gz

Kode yang menyelesaikannya :

wget https://www.example.com/file.tar.gz
tar -zxvf file.tar.gz

Perhatikan bahwa saya lupa "https: //" di mana file tersebut diunduh tetapi tar memberi saya kesalahan yang sama. Jika file tidak ditemukan pastikan Anda menggunakannya

build buruh pelabuhan --tidak ada cache ...

Ryan Augustine
sumber