Patch: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| 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= | + | =Optionen von patch= |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Version vom 22. Juni 2023, 09:41 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 |