Patch: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 38: | Zeile 38: | ||
* '''patch interfaces.org''' < interfaces.diff | * '''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= | ||
| + | {| 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 |