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

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.


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).


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

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 ...

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.