新华网H5|跳一跳,看凉山旅游市场如何火爆

Ein Patch (Maskulinum,[1] selten Neutrum; von englisch 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, bekannt gewordene Sicherheitslücken zu schlie?en sowie bislang nicht vorhandene Funktionen nachzurüsten.[2] Teilweise werden auch ?nderungen an einer Software ohne Wissen der K?ufer oder Nutzer von Software installiert, denn oftmals wird im ?nderungsprotokoll (englisch changelog), wenn überhaupt vorhanden, nicht jede einzelne ?nderung (bzw. jeder Einzel-Patch) auch dokumentiert. Gr??ere Nachbesserungen, die nicht nur zahlreiche bereits davor erh?ltliche Patches (nach teils w?chentlichen ?Patchdays“) enthalten, werden oft in Form von gr??eren Aktualisierungen verteilt, wie beispielsweise Service Packs bei (?lteren) Windows- und Office-Versionen von Microsoft.
Der Begriff war bereits gebr?uchlich, als (minimale) Korrekturen an Software noch auf Lochkarten durch Stanzen beziehungsweise Zukleben einzelner L?cher bewerkstelligt wurden.
Abgrenzung
[Bearbeiten | Quelltext bearbeiten]Ein Patch ist eine Fehlerbehebung für ausführbare Programme beziehungsweise Betriebssysteme und kann auch kleinere Funktionserweiterungen enthalten. Er wird mitunter zeitlich begrenzt angeboten, bis mit einem Versions-Update das Problem auch in der aktuell verfügbaren Programmversion behoben ist.
- 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 (englisch Update) ver?ndert den bestehenden Funktionsumfang von ausführbaren Programmen und enth?lt oft 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. In Git-Repositories k?nnen mittels git diff
lokale ?nderungen ausgegeben werden, mit git format-patch
Patches (für den Versand per E-Mail) erstellt werden und mittels git apply
Patches angewandt werden.[3][4][5]
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) 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 UNIX, kumuliert
- Microsoft: Service Packs für Windows vor Windows 10, kumuliert
- SAP: Support Packages für SAP R/3, nicht-kumuliert
- Sun Microsystems: Patch Clusters für Solaris, kumuliert
- Oracle: Patchsets, kumuliert
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.
Community-Patch
[Bearbeiten | Quelltext bearbeiten]Eine Software wird durch den ursprünglichen Hersteller und Rechtehalter 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]- Hotfix
- Kernel Live Patching
- Lebensende einer Software (EOL)
- Patch (Unix)
- Patchday
- Pull Request
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Duden - Deutsches Universalw?rterbuch, 7. Auflage. Dudenverlag, Mannheim 2011, ISBN 978-3-411-05507-4, Seite 1315.
- ↑ 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).
- ↑ Git - git-diff Documentation. Abgerufen am 18. April 2023.
- ↑ Git - git-format-patch Documentation. Abgerufen am 18. April 2023.
- ↑ Git - git-apply Documentation. Abgerufen am 18. April 2023.