Zum Inhalt springen

Patch (Software)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 15. November 2025 um 07:18 Uhr durch imported>Siegbert v2 (+ GND).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Datei:Harvard Mark I program tape.agr.jpg
Lochstreifen mit zwei Flicken

Ein {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (Maskulinum,<ref>Duden - Deutsches Universalwörterbuch, 7. Auflage. Dudenverlag, Mannheim 2011, ISBN 978-3-411-05507-4, Seite 1315.</ref> selten Neutrum; von {{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value) = flicken, ausbessern und {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) = [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.<ref>Felicia M. Nicastro: Security Patch Management. CRC Press, 2011, ISBN 978-1-4398-2500-6, S. 19 ff. (eingeschränkte Vorschau in der Google-BuchsucheSkriptfehler: Ein solches Modul „Vorlage:GoogleBook“ ist nicht vorhanden.).</ref> Teilweise werden auch Änderungen an einer Software ohne Wissen der Käufer oder Nutzer von Software installiert, denn oftmals wird im Änderungsprotokoll ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)), wenn überhaupt vorhanden, nicht jede einzelne Änderung (bzw. jeder Einzel-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) auch dokumentiert. Größere Nachbesserungen, die nicht nur zahlreiche bereits davor erhältliche {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (nach teils wöchentlichen „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“) 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

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 ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)) verändert den bestehenden Funktionsumfang von ausführbaren Programmen und enthält oft auch Fehlerbereinigungen.

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. {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) für Binärprogramme werden meist von Herstellern proprietärer Software für ihre eigenen Programme veröffentlicht. Verbreitet sind {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) für Binärprogramme auch unter Softwarepiraten. Hier wird mit einem Patch meist ein Kopierschutz umgangen. Auch in der Computerspieleszene sind {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) 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.

Skriptfehler: Ein solches Modul „Vorlage:Anker“ ist nicht vorhanden.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 {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) dienen dazu, die Änderungen zu dokumentieren und kommunizieren. {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) sind ein essenzieller Bestandteil der Softwareentwicklung.

Unter Unix werden Programmcode-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) 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 {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (für den Versand per E-Mail) erstellt werden und mittels git apply {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) angewandt werden.<ref>Git - git-diff Documentation. Abgerufen am 18. April 2023.</ref><ref>Git - git-format-patch Documentation. Abgerufen am 18. April 2023.</ref><ref>Git - git-apply Documentation. Abgerufen am 18. April 2023.</ref>

Patch-Pakete

Oft fassen die Hersteller mehrere {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) 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 {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) der vorherigen Pakete enthält. Bei nicht-kumulierten Paketen muss man alle Pakete in der richtigen Reihenfolge installieren.

Beispiele:

  • Hewlett-Packard: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) für Tru64 UNIX, kumuliert
  • Microsoft: Service Packs für Windows vor Windows 10, kumuliert
  • SAP: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) für SAP R/3, nicht-kumuliert
  • Sun Microsystems: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) für Solaris, kumuliert
  • Oracle: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), kumuliert

Herkunft

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

Crack

Ein Patch mit dem Zweck der Umgehung von Einschränkungen oder Sperren wird als „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“ 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

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

Einzelnachweise

<references />

Vorlage:Hinweisbaustein