- Patch (Software)
-
Ein Patch (von engl. Flicken, in der Bedeutung von Nachbesserung, auch Bugfix) ist eine Korrekturauslieferung für Software oder Daten aus Endanwendersicht, um zum Beispiel Sicherheitslücken zu schließen, Fehler zu beheben oder bislang nicht vorhandene Funktionen nachzurüsten. Unter Microsoft Windows heißen diese Aktualisierungen auch Service Pack, wenn sie aus mehreren zusammengefassten Patches bestehen. Der Begriff stammt noch aus der Zeit, als man kleine Korrekturen an Software auf Lochkarten durch Stanzen beziehungsweise Zukleben einzelner Löcher bewerkstelligte.
Inhaltsverzeichnis
Abgrenzung
Ein Patch ist die Auslieferung einer Fehlerbehebung für ausführbare Programme beziehungsweise Betriebssysteme und kann auch kleinere Funktionserweiterungen enthalten.
- Eine Aktualisierung (Update) erweitert den bestehenden Funktionsumfang von ausführbaren Programmen, enthält teilweise auch kleinere Fehlerbehebungen.
- Ein Bugfix behebt Fehler im Programm-Quellcode, die ansonsten Fehlfunktionen hervorrufen könnten.
- Ein Hotfix ist eine besonders wichtige, eilige Fehlerbehebung für ausführbare Programme beziehungsweise Betriebssysteme, enthält aber keine neuen Funktionen.
Ziele für Patches
Patch für Binärprogramme
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 Betriebssysteme werden häufig auch Aktualisierungen per Internet angeboten, die meist recht einfach heruntergeladen und eingespielt werden können.
Zu Zeiten des Betriebssystems CP/M waren Bildschirm- und Druckersteuerung noch nicht Teil des Betriebssystem selbst. Die Anpassung, in Form von Escape-Sequenzen oder kleinen Maschinenprogrammen, musste insofern im Code des Anwenderprogramms vorgenommen werden, der dazu bereits reservierte Patch-Bereiche vorsah. Beispiele dafür sind Wordstar, dBASE und SuperCalc. Der Patch wurde meist mit Hilfe eines Debuggers vorgenommen.
Patch für Quellcode
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
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:
- Hewlett-Packard: Patchkits für Tru64, kumuliert
- Microsoft: Service Packs für Windows, kumuliert
- SAP: Support Packages für SAP R/3, nicht-kumuliert
- Sun Microsystems: Patch Clusters für Solaris, kumuliert
- Oracle: Patchsets, kumuliert
Quellen
Patches werden nicht nur durch den ursprünglichen Softwarehersteller erstellt sondern manchmal auch von dritten mit verschiedener Motivation.
Crack
→ Hauptartikel: Crack (Software)
Ein Patch mit dem Zweck der Umgehung von Kopierschutzmaßnahmen oder dergleichen wird als „Crack“ bezeichnet. Dabei wird der Binärcode eines meist kommerziellen Programms derart verändert, dass dieses danach ohne Kopierschutz funktioniert. Diese Art von Patch ist in den meisten Ländern verboten (siehe auch: Rechtliche Lage von Software-Cracks).
Community Patch
→ Hauptartikel: Community Patch
Es kommt vor, dass eine Software nicht mehr durch den ursprünglichen Hersteller und Rechthalter gepflegt wird, da z.B. ein Nachfolgeprodukt existiert, der übliche zeitliche Supportrahmen abgelaufen ist oder einfach die Firma nicht mehr existiert. In diesen Fällen kann es vorkommen, dass die Nutzergemeinde versucht, die Pflege der Software mit Patchen aufrechtzuerhalten.[1][2]
Siehe auch
Weblinks
- Patch! und sicher (Fachartikel auf der Networking-Website searchnetworking.de)
Einzelnachweise
- ↑ Inoffizielle Patch-Pakete für Windows 2000 und XP (Update). golem.de (10. November 2005). Abgerufen am 6. April 2011.
- ↑ Hans-Christian Dirscherl (29. November 2005): Nicht tot zu kriegen: Win 98 Service Pack 2.1. PCWelt.de. Abgerufen am 6. April 2011.
Wikimedia Foundation.