ubuntuusers.de

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:

Wiki/Icons/terminal.png 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 - 

Diese Revision wurde am 13. November 2022 11:30 von cptechnik erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, Checksumme, Prüfsumme