Patch (Software)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Die Artikel Update und Patch (Software) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zusammenzuführen (→ Anleitung). Beteilige dich dazu an der betreffenden Redundanzdiskussion. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz und vergiss nicht, den betreffenden Eintrag auf der Redundanzdiskussionsseite mit {{Erledigt|1=~~~~}} zu markieren. Arado (Diskussion) 12:55, 15. Jan. 2015 (CET)
Dieser Artikel ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.
Herkunft des Begriffes und Abgrenzung nicht belegt (August 2016)

Ein Patch (Maskulinum[1], selten Neutrum; von engl. to patch = flicken, ausbessern und patch = [aufgesetzter] Flicken, Flickwerk in der Bedeutung von Reparatur bzw. Nachbesserung) ist eine Korrekturauslieferung für Software oder Daten aus Endanwendersicht, um Fehler zu beheben – meist um bekannt gewordene Sicherheitslücken zu schließen – oder bislang nicht vorhandene Funktionen nachzurüsten.[2] Teilweise werden auch Änderungen an einer Software ohne Wissen der Käufer oder Nutzer installiert. Bei einigen Herstellern, wie etwa Microsoft (Windows), heißen diese Nachbesserungen gerne Aktualisierungen und Service Pack, wenn sie aus sehr vielen zusammengefassten Patches (nach teils wöchentlichen Patch days) bestehen. Der Begriff war bereits zu einer Zeit gebräuchlich, als Korrekturen an (minimaler) Software noch auf Lochkarten durch Stanzen beziehungsweise Zukleben einzelner Löcher bewerkstelligt werden konnten.

Abgrenzung[Bearbeiten | Quelltext bearbeiten]

Ein Patch ist eine Fehlerbehebung für ausführbare Programme beziehungsweise Betriebssysteme und kann auch kleinere Funktionserweiterungen enthalten. Er wird meist zeitlich begrenzt angeboten.

  • Ein Bugfix behebt Fehler im Programm-Quellcode, die Fehlfunktionen hervorrufen können.
  • Ein Hotfix ist eine besonders wichtige, sehr dringende Fehlerbehebung für ausführbare Programme beziehungsweise Betriebssysteme.
  • Eine Aktualisierung (Update) erweitert den bestehenden Funktionsumfang von ausführbaren Programmen und enthält meist auch Fehlerbereinigungen.

Ziele für Patches[Bearbeiten | Quelltext bearbeiten]

Patch für Binärprogramme[Bearbeiten | Quelltext bearbeiten]

Ein Patch für ein Binärprogramm ersetzt in der Regel eine oder mehrere Dateien durch eine neue Version. Patches für Binärprogramme werden meist von Herstellern proprietärer Software für ihre eigenen Programme veröffentlicht. Verbreitet sind Patches für Binärprogramme auch unter Softwarepiraten. Hier wird mit einem Patch meist ein Kopierschutz umgangen. Auch in der Computerspieleszene sind Patches verbreitet, um Spiele zu modifizieren.

Für Programme (oder seltener Betriebssysteme) werden auch Aktualisierungen per Internet angeboten, die heruntergeladen und eingespielt werden können.

Zu Zeiten des Betriebssystems CP/M waren Bildschirm- und Druckersteuerung noch nicht Teil des Betriebssystems selbst. Die Anpassung in Form von Escape-Sequenzen oder kleinen Maschinenprogrammen musste daher im Code des Anwenderprogramms vorgenommen werden, der dazu bereits reservierte Patch-Bereiche vorsah. Beispiele dafür sind WordStar, dBASE und SuperCalc. Das Patchen wurde meist mit Hilfe eines Debuggers vorgenommen.

Patch für Quellcode[Bearbeiten | Quelltext bearbeiten]

Ein Patch für Quellcode enthält nur die geänderten Zeilen im Programmcode. Am weitesten verbreitet sind die Formate „Context-diff“ und „Unified-diff“. Diese Patches dienen dazu, die Änderungen zu dokumentieren und kommunizieren. Patches sind ein essenzieller Bestandteil der Softwareentwicklung.

Unter Unix werden Programmcode-Patches mit dem Programm diff erzeugt. Mit dem Programm patch, ursprünglich von Larry Wall geschrieben, kann man einen Patch automatisch einspielen.

Die meisten verbreiteten Versionsverwaltungssysteme benutzen Patches, um Änderungen zwischen Dateiversionen festzuhalten.

Patch-Pakete[Bearbeiten | Quelltext bearbeiten]

Oft fassen die Hersteller mehrere Patches zu einem „Paket“ zusammen, welches der Administrator insgesamt installieren sollte. Diese Pakete haben je nach Hersteller unterschiedliche Bezeichnungen. Auch unterscheidet man zwischen kumulierten (oft auch als kumulativ bezeichnet) Paketen und nicht-kumulierten Paketen. Bei kumulierten Paketen muss nur das neueste installiert werden, weil es die Patches der vorherigen Pakete enthält. Bei nicht-kumulierten Paketen muss man alle Pakete in der richtigen Reihenfolge installieren.

Beispiele:

Herkunft[Bearbeiten | Quelltext bearbeiten]

Patches werden nicht nur durch den ursprünglichen Softwarehersteller erstellt, sondern manchmal auch von Dritten mit unterschiedlicher Motivation.

Crack[Bearbeiten | Quelltext bearbeiten]

Ein Patch mit dem Zweck der Umgehung von Einschränkungen oder Sperren, wird als „Crack“ bezeichnet. Dabei wird der Binärcode eines meist kommerziellen Programms z. B. zur Schonung der empfindlichen Original-CD derart verändert, dass dieses danach ohne Kopierschutz funktioniert. Diese Änderung ist in den meisten Ländern verboten (siehe auch: Rechtliche Lage von Software-Cracks).

Community Patch[Bearbeiten | Quelltext bearbeiten]

Eine Software wird durch den ursprünglichen Hersteller und Rechthalter nicht mehr nachgebessert, gepflegt, wenn der Support beendet wurde, ein Nachfolgeprodukt vertrieben wird oder die Firma nicht mehr existiert. In diesen Fällen kann es vorkommen, dass die Nutzergemeinde versucht, die Pflege der Software mit Patches aufrechtzuerhalten, wenn dies nicht aus lizenzrechtlichen Gründen untersagt wird.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Duden - Deutsches Universalwörterbuch, 7. Auflage. Dudenverlag, Mannheim 2011, ISBN 978-3-411-05507-4, Seite 1315.
  2. Felicia M. Nicastro: Security Patch Management. CRC Press, 2011, ISBN 978-1-4398-2500-6, S. 19 ff. (eingeschränkte Vorschau in der Google-Buchsuche).