Instaluję sqlite na Alpine Linux. Pobieram, sqlite-autoconf-3130000.tar.gz
ale tar
nie mogę go otworzyć. Próbowałem tej odpowiedzi, ale nie działa. tar
daje ten komunikat:
tar: invalid magic
tar: short read
Napisałem te polecenia.
wget https://www.sqlite.org/2015/sqlite-autoconf-3090100.tar.gz
tar -zxvf sqlite-autoconf-3090100.tar.gz
tar
alpine-linux
światło dzienne
źródło
źródło
ls -l sqlite-autoconf-3090100.tar.gz
powinien powiedzieć, że plik ma rozmiar 2284128 bajtów.z
flagę ze smoły.Odpowiedzi:
Spróbuj zainstalować pakiet tar (apk dodaj tar). Tar Busybox (domyślnie) nie obsługuje wszystkich funkcji.
źródło
Nie musi to oznaczać, że alpejska wersja
tar
jest niezgodna, jak zauważył Francesco, że naprawdę powinieneś sprawdzić sumy kontrolne plików.curl https://github.com/someproject/releases/project-1.1.0.gz | tar -xvzf
Natknąłem się na to podczas robienia w moim Dockerfile.Okazuje się, że zapomniałem, że
curl
będzie podążał za przekierowaniami tylko wtedy, gdy na to zezwolisz-L
, a więc nigdy nie dotarł do rzeczywistego pliku, dosłownie pobierał html informujący, że było przekierowanie. Dodanie-L
pozwoliło mi zapisać plik bez nadmuchiwania mojego kontenera nowymtar
(poza dodanym przez „wzdęcie”curl
).źródło
tar: niepoprawna magia oznacza, że plik jest uszkodzony.
Sprawdź sumę md5, jeśli pasuje ... oto co otrzymałem:
źródło
Mam ten sam problem i rozwiązałem go, ale nie jestem pewien, czy masz do czynienia z tym samym problemem.
Kod powodujący błąd :
Kod, który to rozwiązał :
Zauważ, że zapomniałem „https: //”, w którym plik został pobrany, ale tar dał mi ten sam błąd. Jeśli plik nie zostanie znaleziony, upewnij się, że używasz
źródło