md5sum
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Mit dem Befehl md5sum kann man die MD5-Prüfsumme für eine Datei berechnen oder Dateien mit existierenden Prüfsummen überprüfen. Nützlich ist dies insbesondere bei großen Dateien wie z.B. den offiziellen Installationsmedien von Ubuntu. Damit kann vermieden werden, dass man einen fehlerhaften Download auf CD bzw. DVD brennt. Mit GtkHash steht alternativ ein grafisches Programm zur Berechnung einer Vielzahl von Hashfunktionen zur Verfügung.
Hinweis:
Die mathematischen Grundlagen sowie Stärken und Schwächen sind im Artikel Hashfunktionen beschrieben. Zur Sicherheit und Angriffsvektoren ist insbesondere Hashfunktionen (Abschnitt „Angriffe-gegen-MD5-und-SHA-1“) zu beachten. Im Zweifelsfall sollte man die Alternative SHA-256 oder größer verwenden.
Funktionsweise¶
Die MD5-Prüfsumme ist ein generierter Hashwert für eine bestimmte Datei. Diese 32-stellige Hexadezimalzahl besteht aus den Ziffern 0 bis 9 sowie a bis f. Der Hashwert wird oft bei aus dem Internet herunterladbaren *.iso-Dateien von Linux-Distributionen und anderen Downloads angegeben. Damit lässt sich überprüfen, ob die Datei beim Download korrekt übertragen oder beschädigt wurde bzw. ob das Brennen des ISO-Images auf CD erfolgreich war. Alternativ steht ein Selbsttest auf den Ubuntu-Installations-DVDs bzw. -CDs zur Verfügung, mit dem man bei Problemen aber nur feststellen kann, dass man einen Rohling verbrannt hat...
Auch für Windows gibt es mehrere kostenlose Programme, die heruntergeladene *.iso-Dateien mit Hilfe eines MD5-Schlüssels überprüfen können (siehe Links). Unter Mac OS X hilft der Befehl md5 DATEI.iso
weiter.
Installation¶
Das Programm ist im Paket
coreutils
von Ubuntu enthalten und ist deshalb auf jedem System vorinstalliert.
Aufruf¶
md5sum [OPTION] DATEI
Option (kurz) | Option (lang) | Beschreibung |
-b | --binary | Binärmodus |
-c | --check | Überprüfen einer Prüfsumme aus einer Datei |
-t | --text | Textmodus (Standard) |
Beispiele¶
In den folgenden Beispielen wird davon ausgegangen, dass man mit der Shell im entsprechenden Verzeichnis der zu überprüfenden Dateien arbeitet.
Ermitteln der Prüfsumme einer Datei¶
md5sum DATEI
d41d8cd98f00b204e9800998ecf8427e DATEI
Es ist auch möglich, mehrere Dateien anzugeben oder mit dem Platzhalter *
alle Dateien anzugeben.
Um eine heruntergeladene ISO-Datei zu prüfen, wechselt man in das Verzeichnis, in dem es abgelegt wurde. Dort öffnet man ein Terminal-Fenster und gibt den folgenden Befehl ein:
md5sum ubuntu-14.04-desktop-amd64.iso
und bestätigt mit ⏎ . Danach wird die Md5sum generiert und ausgegeben. Nun gleicht man die generierte Md5sum mit der offiziellen Liste 🇬🇧 ab. Die Prüfsumme des ISO-Abbilds muss mit der selbst ermittelten exakt übereinstimmen.
Ermitteln der Prüfsumme einer CD/DVD¶
Diese Prüfsumme dient dazu, um CDs/DVDs untereinander zu vergleichen.
md5sum /dev/sr0
d41d8cd98f00b204e9800998ecf8427e /dev/sr0
Ggf. muss /dev/sr0 angepasst werden (/dev/sr1,
/dev/cdrom). Den passenden Pfad bekommt man im Terminal nach der Eingabe von mount
angezeigt.
Ermitteln der Prüfsumme und Umleiten der Ausgabe in oder mehrere Dateien¶
Ermitteln der Prüfsumme und gleichzeitiges Umleiten der Ausgabe in eine Datei namens MD5SUM:
md5sum * > MD5SUM
Inhalt der erstellten Datei:
d41d8cd98f00b204e9800998ecf8427e datei1 aee97cb3ad288ef0add6c6b5b5fae48a datei2 24203bc91c4dbc45f2aea18eca89b18f datei3
Ermitteln der Prüfsumme einzelner Dateien (z.B. mehrere CD-Images, Firmwares) und gleichzeitiges Umleiten der Ausgabe in jeweils eine Datei mit der Endung .md5:
for file in *bin; do md5sum "$file" > "$file".md5; done
Inhalt der erstellten Dateien:
datei1.bin.md5
d41d8cd98f00b204e9800998ecf8427e datei1
datei2.bin.md5
aee97cb3ad288ef0add6c6b5b5fae48a datei2
datei3.bin.md5
24203bc91c4dbc45f2aea18eca89b18f datei3
Ermitteln der Prüfsumme von Dateien in Unterverzeichnissen¶
Mittels
find . -type f -print0 | xargs -0 md5sum > /tmp/MD5SUM; mv /tmp/MD5SUM ./MD5SUM
können auch für Dateien in Unterverzeichnissen die Prüfsummen berechnet werden. Die Datei wird hier in /tmp angelegt und später verschoben. Dies ist nötig, da md5sum ansonsten die Datei selbst während des Vorgangs berechnen - aber im Nachhinein nochmal verändern würde, was beim späteren Überprüfen natürlich einen Fehler verursacht. Der Inhalt der erstellten Datei ist dann entsprechend:
d3b07384d113edec49eaa6238ad5ff00 ./datei1 c157a79031e1c40f85931829bc5fc552 ./datei2 ceb8d811a6e225e8d1608f403dc8cbe1 ./dir/datei3 5bb062356cddb5d2c0ef41eb2660cb06 ./dir/datei4
Ermittelt die Prüfsumme einer Zeichenkette oder eines Textes¶
Ermittelt die Prüfsumme der Zeichenkete 'gewinner'
echo -n 'gewinner' | md5sum
39e8c8f7eeec9f73f7627154fb50f128 -
In diesem Beispiel ist die Option -n
sehr wichtig, da diese das Anhängen der neuen Zeile verhindert.
Überprüfen von Prüfsummen¶
Überprüfen von Dateien anhand der Prüfsummen, die Prüfsummen werden dabei aus der Datei MD5SUM gelesen.
md5sum -c MD5SUM
Ausgabe:
datei1: Ok datei2: Ok datei3: Fehlschlag md5sum: WARNING: 1 of 3 computed checksums did NOT match
Spätestens wenn viele Dateien überprüft werden, kann zusätzlich die Option --quiet
nützlich sein. Dadurch werden intakte Dateien nach deren Überprüfung nicht aufgelistet, sondern nur Problemfälle. Im obigen Beispiel also nur datei3
und am Ende der Warnhinweis.
Ausgaben wie beispielsweise
md5sum: ubuntu-14.04-desktop-amd64.iso: No such file or directory ubuntu-14.04-desktop-amd64.iso: Fehlschlag bei open oder read
bedeuten, dass in der MD5SUM-Datei für dieses *.iso-Image eine Prüfsumme aufgeführt ist, die Datei aber nicht am angegebenen Ort aufgefunden wurde. Erinnert man sich, die Datei gelöscht zu haben o.ä., könnte die entsprechende Zeile mit einem beliebigen Editor aus der MD5SUM-Datei entfernt werden. Ist die Datei unerklärlich verschwunden, sollte man sich Gedanken über mögliche Hardwareprobleme machen.
Um die Prüfsumme zu generieren und im gleichen Zug zu prüfen, verwendet man folgenden Befehl (ohne spitze Klammern):
echo "<MD5-Summe> <Dateiname>" | md5sum -c - # oder auch echo "<SHA1-Summe> <Dateiname>" | sha1sum -c -
Links¶
Thunar/Benutzerdefinierte Aktionen (Abschnitt „Pruefsumme-mit-md5sum-berechnen“) – md5sum mit dem Dateimanager Thunar berechnen
Freeware für Windows (ohne Installation nutzbar):
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle