Einrichtung der Prüfsummen-Programme zur Benutzung mit „Prüfsummen erstellen/verifizieren“

## Einrichtung der Prüfsummen-Programme zur Benutzung mit „Prüfsummen erstellen/verifizieren“

Kleopatra ermöglicht es dem Systemverwalter (und erfahrenen Benutzer) die Liste der Prüfsummen-Programme, aus denen der Benutzer im Einstellungs-Fenster wählen kann, einzustellen. Zudem ist Kleopatra dann in der Lage bei Bedarf eines für die Überprüfung der Prüfsumme einer gegebenen Datei automatisch zu wählen.

### Anmerkung

Um von Kleopatra benutzbar zu sein muss die Ausgabe eines Prüfsummen-Programms (sowohl die gespeicherte Prüfsummendatei als auch die Ausgabe auf stdout) kompatibel mit GNU md5sum und sha1sum sein.

Insbesondere muss die Prüfsummendatei zeilenbasiert sein, wobei jede Zeile das folgende Format erfüllen muss:

    PRÜFSUMME ' ' ( ' ' | '*' ) DATEINAME

, wobei `PRÜFSUMME` nur aus hexadezimal-Zeichen besteht. Sollte `DATEINAME` ein Zeilenumbruchzeichen enthalten, muss die Zeile wie folgt formatiert sein:

    \PRÜFSUMME ' ' ( ' ' | '*' ) MASKIERTER-DATEINAME

, wobei `MASKIERTER-DATEINAME` der Dateiname ist, in dem Zeilenumbrüche durch `\n` und umgedrehte Schrägstriche gedoppelt sind (`\`↦`\\`).

Vergleichbar muss die Ausgabe von `verify-command` die Form

    DATEINAME ( ': OK' | ': FAILED')

haben, wobei Zeilenumbrüche wieder als Trennzeichen dienen. Allerdings werden Zeilenumbrüche und andere Steuerzeichen der Ausgabe hier nicht maskiert.[2]

Jedes Prüfsummen-Programm ist in `libkleopatrarc` als eigenständige `Checksum Definition #`n``-Gruppe mit den folgenden verbindlichen Schlüsseln definiert:

`file-patterns`

  Eine Liste regulärer Ausdrücke, die beschreiben welche Dateien als Prüfsummendateien für diese Prüfsummen-Programm gehalten werden sollen. Die Syntax ist die gleiche, die auch für Zeichen-Listen in KDE-Einrichtungsdateien verwendet wird.

  ### Anmerkung

  Da reguläre Ausdrücke normalerweise umgedrehte Schrägstriche enthalten, muss Vorsicht gewaltet werden, um diese in der Einrichtungsdatei richtig zu maskieren. Die Verwendung von Werkzeugen zur Bearbeitung von Einrichtungsdateien wird empfohlen.

  Ausschlaggebend dafür, ob die Muster Groß-/Kleinschreibung unterscheiden, ist das System.

`output-file`

  Der typische Name der Ausgabedatei dieses Prüfsummen-Programms (sollte natürlich einem der `file-patterns` entsprechend). Diesen verwendet Kleopatra als Name der Ausgabedatei beim Erstellen von Prüfsummendateien dieses Typs.

`id`

  Eine eindeutige Kennung, um dieses Prüfsummen-Programm intern zu identifizieren. Falls Sie Zweifel haben, nutzen Sie den Namen des Befehls.

`Name` (übersetzt)

  Der Name des Archivierungs-Programms, so wie er dem Benutzer in Kleopatras Einrichtungsdialog angezeigt wird.

`create-command`

  Der eigentliche Befehl mit dem Prüfsummendateien erzeugt werden. Die Syntax sowie Begrenzungen und Optionen der Argument-Übergabe sind die gleichen wie für `pack-command` in „Einstellung von Archivierungs-Programmen für die Benutzung mit „Dateien signieren/verschlüsseln ...““ beschrieben.

`verify-command`

  Genau wie `create-command`, allerdings für Prüfsummen-Verifizierung.

Hier sehen Sie ein vollständiges Beispiel:

    [Checksum Definition #1]
              file-patterns=sha1sum.txt
              output-file=sha1sum.txt
              id=sha1sum-gnu
              Name=sha1sum (GNU)
              Name[de]=sha1sum (GNU)
              ...
              create-command=sha1sum -- %f
              verify-command=sha1sum -c -- %f

[2] Diese Programme wurden nicht für eine graphische Benutzeroberfläche geschrieben und Kleopatra wird beim analysieren von irrsinnigen Dateinamen, die „: OK“ und einen Zeilenumbruch enthalten, versagen.