--------------------------------Linux Guide----------------------------------
by Ingo Blechschmidt (c) 2002
-----------------------------------------------------------------------------
------------------------- patch
------------------------- Fre Jun 15 14:38:53 MEST 2001
------------------------- patch wichtiger_Befehl C-Code Code weniger_Speicherplatzverbrauch
Speicherplatz
-----------------------------------------------------------------------------
patch - dieser Befehl wird zum Beispiel zum patchen ("flicken")
von Kernel-Quellen verwendet.
-----------------------------------------------------------------------------
Wer kennt dieses Problem nicht? Angenommen, Sie haben ein Programm beispiel.c
in der Version 0.7, Ihr Freund in der Version 0.71. Sie haben nun
herausgefunden, wie irgendein Fehler behoben werden kann, und möchten
diese Lösung Ihrem Freund geben:
* Sie schicken ihm das fehlerverbesserte Programm, dann hat Ihr Freund ein
fehlerbereinigtes Programm, allerdings in der älteren Version. Und dazu
müssen Sie beim E-Mail noch den Netz-Traffic enbeziehen, der durch
solche Aktionen steigt...
* Die bessere Lösung ist folgende:
--------CODE--------: diff...
# diff -u beispiel.c neubeispiel.c > patch
--------/CODE--------
Ihr Freund muss dann nur
--------CODE--------: ...und patch
# patch -bp0 beispiel.c patch
oder
# patch -p0 < patch
--------/CODE--------
auf seinem Computer eingeben. Beim zweiten Beispiel werden die Dateinamen aus
der Patch-Datei ermittelt. Der Blick nach man patch lohnt
sich. Dort erfährt man auch, was das-pNum
bedeutet: Sie entfernt eine Num Anzahl an Slashes. Beispiel:
Bei Ihnen ist das Programm im Verzeichnis /usr/local/bin. Bei Ihrem Freund
aber /local/bin. Damit das Programm nicht die falsche Datei patches, ist
folgende Zeile nötig:
--------CODE--------: -pNum?
# patch -p2 < patch
--------/CODE--------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
This document is distributed under the terms of the GNU Free Documentation
License.