Patch: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
=Wie funktioniert ein Patch=
 
=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=
 
=Original Datei=
;interfaces.org
+
 
<pre>
+
* '''vim interfaces.org'''
auto eth0
+
 
iface eth0 inet static
+
auto eth0
address XX.XX.XX.XX/YY
+
iface eth0 inet static
gateway ZZ.ZZ.ZZ.ZZ
+
  address XX.XX.XX.XX/YY
</pre>
+
  gateway ZZ.ZZ.ZZ.ZZ
 +
 
 
=Gewünschte Datei=
 
=Gewünschte Datei=
;interfaces.new
+
 
<pre>
+
* '''vim interfaces.new'''
auto eth0
+
 
iface eth0 inet static
+
auto eth0
address 192.168.88.99/24  
+
iface eth0 inet static
gateway 192.168.88.1
+
  address 192.168.88.99/24  
</pre>
+
  gateway 192.168.88.1
=Erzeugen einer Diff Datei=
+
 
*diff interfaces.org interfaces.new | tee interfaces.diff
+
=Erzeugen einer ''.diff''-Datei=
 +
 
 +
* '''diff interfaces.org interfaces.new | tee interfaces.diff'''
 +
 
 
  3,4c3,4
 
  3,4c3,4
 
  <  address XX.XX.XX.XX/YY
 
  <  address XX.XX.XX.XX/YY

Version vom 22. Juni 2023, 09: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