Linux Alpineで「tar:無効なマジック」エラーを修正する方法

Linux Alpineで「tar:無効なマジック」エラーを修正する方法

Alpine Linuxにsqliteをインストールしています。ダウンロードしましたが開けませんsqlite-autoconf-3130000.tar.gztar私はこれを試しました回答しかし、うまくいきません。tar次のメッセージを送信しました。

tar: invalid magic
tar: short read

私はこれらのコマンドを書いた。

wget https://www.sqlite.org/2015/sqlite-autoconf-3090100.tar.gz
tar -zxvf sqlite-autoconf-3090100.tar.gz

答え1

tarパッケージをインストールしてみてください(apk add tar)。 Busybox tar(デフォルト)はすべての機能をサポートしていません。

答え2

これは必ずしもAlpineのバージョンがtar互換性がないという意味ではありません。 Francescoが指摘したように、実際にファイルチェックサムを確認する必要があります。

curl https://github.com/someproject/releases/project-1.1.0.gz | tar -xvzfDockerfileで操作を実行中にこの問題が発生しました。

私が忘れたのは、curl許可されている場合にのみリダイレクトが続く-Lため、実際のファイルに到達できず、実際にhtmlをダウンロードしてリダイレクトがあることを知らせることです。 [追加]を使用すると、-L自分のコンテナを新しいコンテナに増やすことなくファイルを保存できますtar(追加による「膨らませ」以上curl)。

答え3

dockerでalpineを使用している場合は、レイヤーをビルドするときに解凍されるコンテナファイル()のCOPY代わりにalpineを使用していると主張してください。ADDDockerfileADD

アルパイン基本タールいいえヒントをください

tar (child): sqlite-autoconf-3090100.tar.gz: Cannot read: Is a directory
tar (child): At beginning of tape, quitting now
tar (child): Error is not recoverable: exiting now

答え4

tar:invalid魔法はファイルが破損していることを意味します。

md5sumが一致することを確認してください...これが私が得たものです:

 md5sum  sqlite-autoconf-3090100.tar.gz 
 74931054399a2d7acf35637efe8d6f45  sqlite-autoconf-3090100.tar.gz

関連情報