Patch: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 44: Zeile 44:
 
   address 192.168.88.99/24  
 
   address 192.168.88.99/24  
 
   gateway 192.168.88.1
 
   gateway 192.168.88.1
 +
=Optionen von patch=
 +
{| class="wikitable"
 +
|-
 +
! Option !! Beschreibung
 +
|-
 +
| -p NUM || Zieht NUM führende Komponenten von Dateinamen ab, siehe Beispiele
 +
|-
 +
| -E || Löscht Zieldateien, die nach dem Patchen leer sind
 +
|-
 +
| -b || Macht ein Backup der Originalinhalte jeder Datei
 +
|-
 +
| --backup-if-mismatch || Macht nur ein Backup, wenn der Patch nicht genau passt
 +
|-
 +
| --verbose || Gibt zusätzliche Informationen über vollführte Arbeiten aus
 +
|-
 +
| --dry-run || Ändert die Dateien nicht wirklich; gibt nur aus, was passieren würde
 +
|-
 +
| -d VERZEICHNIS || Ändert erst das Arbeitsverzeichnis zu VERZEICHNIS
 +
|-
 +
| -R || Patch Rückgängig machen
 +
|}

Aktuelle Version vom 27. Juni 2023, 10:07 Uhr

Wie funktioniert ein Patch

  • Patches machen Änderungen am Source-Code, um Features zu implementieren, Sicherheitslücken beheben oder Konfigurationen anpassen
  • Änderungen werden aus einer .diff-Datei gelesen und an Zieldateien angewendet
  • Manuell kann man diese mit dem Befehl patch durchführen
  • Automatisches Versionsmanagement kann man mit git erreichen

Original Datei

  • vim interfaces.org
auto eth0
iface eth0 inet static
 address XX.XX.XX.XX/YY
 gateway ZZ.ZZ.ZZ.ZZ

Gewünschte Datei

  • vim interfaces.new
auto eth0
iface eth0 inet static
 address 192.168.88.99/24 
 gateway 192.168.88.1

Erzeugen einer .diff-Datei

  • diff interfaces.org interfaces.new | tee interfaces.diff
3,4c3,4
<  address XX.XX.XX.XX/YY
<  gateway ZZ.ZZ.ZZ.ZZ
---
>  address 192.168.88.99/24 
>  gateway 192.168.88.1

Patch anwenden

  • patch interfaces.org < interfaces.diff
  • cat interfaces.org
auto eth0
iface eth0 inet static
 address 192.168.88.99/24 
 gateway 192.168.88.1

Optionen von patch

Option Beschreibung
-p NUM Zieht NUM führende Komponenten von Dateinamen ab, siehe Beispiele
-E Löscht Zieldateien, die nach dem Patchen leer sind
-b Macht ein Backup der Originalinhalte jeder Datei
--backup-if-mismatch Macht nur ein Backup, wenn der Patch nicht genau passt
--verbose Gibt zusätzliche Informationen über vollführte Arbeiten aus
--dry-run Ändert die Dateien nicht wirklich; gibt nur aus, was passieren würde
-d VERZEICHNIS Ändert erst das Arbeitsverzeichnis zu VERZEICHNIS
-R Patch Rückgängig machen