[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] 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 [:Downloads: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. {{{#!vorlage Hinweis Die mathematischen Grundlagen sowie Stärken und Schwächen sind im Artikel [:Hashfunktionen:] beschrieben. Zur Sicherheit und Angriffsvektoren ist insbesondere [:Hashfunktionen/#Angriffe-gegen-MD5-und-SHA-1:] zu beachten. Im Zweifelsfall sollte man die Alternative SHA-256 oder größer verwenden. }}} = Funktionsweise = Die [wikipedia:Message-Digest_Algorithm_5: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 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 = {{{#!vorlage Befehl md5sum [OPTION] DATEI }}} {{{#!vorlage Tabelle 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 == {{{#!vorlage Befehl 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: {{{#!vorlage Befehl md5sum ubuntu-14.04-desktop-amd64.iso }}} und bestätigt mit [[Vorlage(Tasten, enter)]]. Danach wird die Md5sum generiert und ausgegeben. Nun gleicht man die generierte Md5sum mit der offiziellen [ubuntu_doc:community/UbuntuHashes:Liste] {en} 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. {{{#!vorlage Befehl 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''': {{{#!vorlage Befehl 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''': {{{#!vorlage Befehl 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 {{{#!vorlage Befehl 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' {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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 [:Hardware/Problembehebung/:Hardwareprobleme] machen. Um die Prüfsumme zu generieren und im gleichen Zug zu prüfen, verwendet man folgenden Befehl (ohne spitze Klammern): {{{#!vorlage Befehl echo " " | md5sum -c - # oder auch echo " " | sha1sum -c - }}} = Links = * [:Thunar/Benutzerdefinierte_Aktionen#Pruefsumme-mit-md5sum-berechnen:] -- md5sum mit dem Dateimanager Thunar berechnen * Freeware für Windows (ohne Installation nutzbar): * paehl.de: [http://www.paehl.de/#features FASTMD5] {de} * [http://www.md5summer.org/ MD5Summer] {en} * [:Shell/Befehlsübersicht:] {Übersicht} Übersicht über verschiedene Shell-Befehle # tag: Shell, Prüfsumme, Checksumme