Das „diff“ wird als „Differenzen“ abgekürzt und wird verwendet, um den Inhalt zweier Dateien zu vergleichen und die Änderungen in der Standardausgabe aufzulisten.
Eine Reihe von Quellcodes bildet eine Software. Entwickler erstellen den Quellcode, der sich im Laufe der Zeit entwickelt. Es ist unrealistisch oder zeitaufwändig, für jedes Update eine neue Datei zu erhalten. Daher ist es am sichersten, nur Verbesserungen zu verteilen. Die Änderungen werden an der alten Datei vorgenommen und dann wird eine neue oder gepatchte Datei für die neue Softwareversion erstellt created.
Diese Anleitung zeigt Ihnen, wie Sie mit dem Befehl „diff“ eine Patch-Datei generieren und diese dann mit dem Befehl „patch“ anwenden apply.
Syntax:
Die Syntax des „Patch”-Befehl lautet wie folgt:
$ patch [Optionen] [Originaldatei [Patchdatei]]$ patch -pnum
Erstellen einer Patch-Datei mit „diff“:
Quellcodedatei 1:
Erstens sind zwei verschiedene Versionen eines Quellcodes erforderlich, um eine Patch-Datei zu erstellen. Die von mir erstellte Quellcodedatei heißt „meine Datei.c”:s
#einschließenint main()
printf("Hallo LinuxHint\n");
Quellcodedatei 2:
Kopieren Sie nun den Inhalt von meine Datei.c in dem new_myfile.c, Verwendung:
$ cp myfile.c new_myfile.cNehmen Sie einige Änderungen in der neu erstellten Datei vor:
#einschließenLeere Haupt()
printf("Hallo Linux-Hinweis");
printf("Willkommen bei Linuxhint");
Differenz prüfen:
Erstellen wir eine Patch-Datei mit dem Namen als create meine Datei.Patch:
$ diff -u meine Datei.c new_myfile.c
Sie können die Patch-Datei drucken, indem Sie den folgenden Befehl ausführen:
$ cat myfile.Patch
Anwenden der Patch-Datei:
Verwenden Sie zum Anwenden des Patches:
$ Patch < myfile.patch
Stellen Sie sicher, dass sich die Patch-Datei in dem Verzeichnis befindet, in dem sich die Quellcodedatei befindet.
Erstellen Sie eine Sicherungskopie, bevor Sie den Patch anwenden:
Benutzen "-b” Option zum Erstellen eines Backups der Patch-Datei:
$ patch -b < myfile.patch
Einstellen der Backup-Dateiversion
Wenn Sie mehrere Backups einer einzelnen Backup-Datei benötigen, verwenden Sie die „-V" Möglichkeit. Es legt die Versionsnummer jeder Sicherungsdatei fest. Führen Sie den unten angegebenen Befehl aus:
$ Patch -b -V nummeriert < myfile.patch
Patch-Dateien validieren
Wenn Sie das Ergebnis des Patchens überprüfen oder beobachten möchten, verwenden Sie „-Probelauf" Möglichkeit. Es nimmt keine Änderung an der Originaldatei vor:
$ patch --dry-run < myfile.patch
Einen Patch rückgängig machen/rückgängig machen
Die Option „-R“ wird verwendet, um einen bereits angewendeten Patch rückgängig zu machen oder rückgängig zu machen.
$ Patch < file.patch$ ls -l meine Datei.c
$ Patch -R < myfile.patch
$ ls -l meine Datei.c
Fazit:
Im Linux-Betriebssystem ist „patch“ ein Befehl, mit dem wir Patch-Dateien auf die Quellcodes oder Konfigurationsdateien anwenden können. Die Patchdatei wird für Softwareaktualisierungszwecke verwendet. Der Unterschied zwischen den Original- und neuen Dateien wird in Patch-Dateien gespeichert und der Befehl "diff" wird verwendet, um den Unterschied oder das Patch zu erhalten. Wir haben die Verwendung der Befehle „diff“ und „patch“ mit einer Reihe von Optionen besprochen, z. B. Backups erstellen, Trockenlauf durchführen und den angewendeten Patch rückgängig machen.