sha256sum -c SHA256SUMS prüft alle in der Summendatei genannten Dateien und druckt für jede OK oder FAILED — kein Vergleichen von Hex-Ketten mit dem Auge. Das beweist, dass der Download vollständig ankam. Es beweist nicht, dass die Veröffentlichung echt ist: dafür prüft man die Signatur der Summendatei selbst.
1. Alles Geladene prüfen
$ clai prüfe die prüfsummen der geladenen dateien→ sha256sum -c SHA256SUMSapp-1.2.0-darwin-arm64.tar.gz: OKapp-1.2.0-linux-amd64.tar.gz: OKapp-1.2.0-linux-arm64.tar.gz: OK
SHA256SUMS ist eine simple Textdatei aus Zeilen "Hash, zwei Leerzeichen, Dateiname", die Projekte neben ein Release legen. -c vergleicht selbst, und genau darum geht es.
2. Sie haben nur eine der Dateien geladen
$ clai prüfe nur die datei die ich wirklich habe→ sha256sum -c --ignore-missing SHA256SUMSapp-1.2.0-linux-amd64.tar.gz: OK
Ohne --ignore-missing meckert die Prüfung über jede fehlende Datei mit FAILED open or read und endet mit 1, obwohl Ihre Datei in Ordnung ist. Das ist der häufigste Grund für den Eindruck, die Prüfung sei fehlgeschlagen.
3. So sieht ein echter Fehlschlag aus
$ clai prüfe die datei nach einem abgebrochenen download→ sha256sum -c --ignore-missing SHA256SUMSapp-1.2.0-linux-amd64.tar.gz: FAILEDsha256sum: WARNING: 1 computed checksum did NOT matchsha256sum: SHA256SUMS: no file was verified
Geprüft durch Kippen eines einzelnen Bytes im Archiv. Der Exit-Code ist 1, und darauf sollte ein Skript schauen. FAILED heißt "falsche Datei", FAILED open or read heißt "keine Datei" — zwei verschiedene Probleme.
4. Ein einzelner Hash ohne Summendatei
$ clai vergleiche die datei mit dem hash von der downloadseite→ echo "<hash> app-1.2.0-linux-arm64.tar.gz" | sha256sum -c -app-1.2.0-linux-arm64.tar.gz: OK
Die zwei Leerzeichen zwischen Hash und Name gehören zum Format, das ist keine Typografie. So prüft man, wenn die Seite nur einen einzelnen Hash veröffentlicht.
5. Die Signatur wiegt schwerer als der Hash
$ clai prüfe die signatur der summendatei→ gpg --verify SHA256SUMS.asc SHA256SUMSgpg: Signature made Thu Aug 27 23:09:38 2026 +07gpg: using EDDSA key CDDC16ABE7FBF699F0CA9D6C7CA6166B006AB9B0gpg: Good signature from "App Releases <[email protected]>" [ultimate]
Diesen Teil lassen die meisten Anleitungen aus. Ein Hash beweist, dass die Bytes heil ankamen, nicht dass das Release vom Autor stammt: wer Archiv und SHA256SUMS zugleich austauscht, bekommt passende Hashes. Die Signatur übersteht das nicht — ändert man ein Zeichen in der Summendatei, antwortet gpg BAD signature from "App Releases <releases@example.com>", getestet.
6. Wenn der Schlüssel fehlt
$ clai prüfe die signatur ohne den projektschlüssel→ gpg --verify SHA256SUMS.asc SHA256SUMSgpg: Signature made Thu Aug 27 23:09:38 2026 +07gpg: using EDDSA key CDDC16ABE7FBF699F0CA9D6C7CA6166B006AB9B0gpg: Can't check signature: No public key
Das heißt nicht "schlechte Signatur", sondern "womit denn prüfen". Den Schlüssel holt gpg --recv-keys <fingerprint> — und den Fingerabdruck nehmen Sie von woanders als von der Downloadseite, sonst prüft sich die Prüfung selbst.
Gotchas
FAILEDundFAILED open or readsind verschiedene Probleme. Ersteres heißt beschädigt oder ausgetauscht, Letzteres schlicht nicht vorhanden.--ignore-missinglöst nur das zweite.- Ein passender Hash ist keine Echtheit. Hashes schützen vor einem abgebrochenen Download, nicht vor einem ausgetauschten Release. Echtheit braucht eine signierte Summendatei und einen Schlüssel, der unabhängig von der Downloadseite kommt.
- Das Zeilenformat ist streng. Genau zwei Leerzeichen zwischen Hash und Name; ein Leerzeichen oder ein Tabulator bringt
no properly formatted checksum lines found.
Related questions
Wie unterscheidet sich sha256sum von md5sum? Im Algorithmus. MD5 ist gegenüber Kollisionen seit Jahren gebrochen und taugt nicht für Echtheit; einen kaputten Download erkennt es noch, aber es gibt keinen Grund dafür.
Wie prüfe ich einen Hash unter Windows? certutil -hashfile app.tar.gz SHA256 in cmd oder Get-FileHash in PowerShell. Andere Formatierung, gleicher Wert.
Was tun, wenn die Summen nicht passen? Neu laden — meist war die Übertragung abgeschnitten. Klappt es zweimal nicht, den Mirror wechseln und unbedingt die Signatur prüfen.
See also
- Abgebrochenen Download mit curl fortsetzen
- Große Datei zerteilen und wieder zusammensetzen
- Jedes Archiv entpacken
CliAI schreibt die Prüfzeile — inklusive Flag für den Fall einer einzelnen Datei — und zeigt sie vor dem Ausführen. In einer Zeile installieren.