tar: This does not look like a tar archive, with zstd: /*stdin*\: unsupported
format or unexpected end of file under it, means the file you saved is not the
Ollama archive. curl wrote an empty file or a 404 page under the archive's name. Download it again
with curl -fL and check the size before you extract.
ls -l and file tell you in a second: the real
ollama-linux-amd64.tar.zst for v0.35.0 is 1,427,765,407 bytes of "Zstandard compressed
data". Zero bytes means curl did not follow the redirect; nine bytes of ASCII text is a
Not Found page.
The error
A 404 page saved as the archive:
$ tar -C out -xf ollama-linux-amd64.tar.zst
tar: This does not look like a tar archive
zstd: /*stdin*\: unsupported format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
An empty file, saved by curl without -L:
$ tar -C out -xf ollama-linux-amd64.tar.zst
tar: This does not look like a tar archive
zstd: /*stdin*\: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Why it happens
tar reads the start of the file to work out what it is. Nothing matches an empty file or nine bytes
of text, so it says the file does not look like a tar archive, then falls back on the
.zst in the name and hands the file to zstd, which fails in its own words.
Three ordinary downloads produced such files. https://ollama.com/download/ollama-linux-amd64.tar.zst
answers with a 307 redirect to GitHub and an empty body, so plain curl -o saved 0 bytes
and still exited 0. A misspelt name (ollama-linux-x86_64.tar.zst) or an old version
that never shipped a .tar.zst (v0.5.7) ends at a GitHub 404, and curl -L
saved its body, the text Not Found, again with exit code 0. An interrupted download is
the third: it keeps a valid zstd header, so file is fooled, and extraction stopped after
13 files with /*stdin*\ : Read error (39) : premature end and
tar: Unexpected EOF in archive.
The fix
$ curl -fL -o ollama-linux-amd64.tar.zst https://github.com/ollama/ollama/releases/download/v0.5.7/ollama-linux-amd64.tar.zst
...
curl: (22) The requested URL returned error: 404
$ ls -l
total 0
-f turns an HTTP error into a curl error and writes no file, so a wrong link fails
where you can see it; -L follows the redirect. With the correct URL the same flags
fetched the whole archive, and these checks prove it complete before extraction:
$ ls -l ollama-linux-amd64.tar.zst
-rw-r--r-- 1 deploy deploy 1427765407 Oct 2 01:25 ollama-linux-amd64.tar.zst
$ zstd -t ollama-linux-amd64.tar.zst
ollama-linux-amd64.tar.zst: 2238853120 bytes
$ curl -fsSL https://github.com/ollama/ollama/releases/download/v0.35.0/sha256sum.txt | grep ' ./ollama-linux-amd64.tar.zst$' | sha256sum -c
./ollama-linux-amd64.tar.zst: OK
zstd -t decompresses without writing anything; on the interrupted file it failed with
the same premature-end error, and the checksum line printed FAILED. The checksum file
belongs to one release, so change v0.35.0 to the version you downloaded.
How it was reproduced
Ubuntu 24.04.4 under WSL2 with curl 8.5.0, GNU tar 1.35, zstd 1.5.5 and file 5.45, on 2 October 2026,
when the latest release was v0.35.0. Each bad file came from a real curl command: without
-L, with -L against the two missing names, and a full download cut off by
timeout 4 at 74,424,320 bytes. Extraction went into scratch folders, never
/usr.
Frequently asked
- Why is my downloaded ollama-linux-amd64.tar.zst 0 bytes?
- curl was run without -L. The ollama.com download link answers with a 307 redirect whose body is empty, and curl saves that body unless -L tells it to follow the redirect. Use curl -fL -o ollama-linux-amd64.tar.zst with the same URL.
- What does 'zstd: /*stdin*\: unsupported format' mean?
- The data tar passed to zstd is not zstd at all. For an Ollama download it was a saved 404 page, the nine bytes Not Found. Check the file with ls -l and file, then download it again with curl -fL so a missing URL fails instead of saving the error page.
- How do I verify the Ollama Linux download?
- Run zstd -t on the file to test that it decompresses completely, and compare its SHA-256 with the sha256sum.txt published on the same GitHub release, for example with grep and sha256sum -c as shown above. Both failed on an interrupted download.
More decoded errors in the Fixes category, or let the official script do the download and extraction, as in Ollama on a Linux server, done properly.