De "diff" wordt afgekort als "verschillen" en wordt gebruikt om de inhoud van twee bestanden te vergelijken en de wijzigingen in de standaarduitvoer weer te geven.
Een set broncodes vormt een stukje software. Ontwikkelaars bouwen de broncode die in de loop van de tijd evolueert. Het verkrijgen van een nieuw bestand voor elke update is onrealistisch of tijdrovend. Daarom is de veiligste methode om alleen verbeteringen te verspreiden. De wijzigingen worden aangebracht in het oude bestand en vervolgens wordt een nieuw of gepatcht bestand gemaakt voor de nieuwe softwareversie.
Deze handleiding laat zien hoe u het "diff"-commando gebruikt om een patchbestand te genereren en het vervolgens toe te passen met het "patch"-commando.
Syntaxis:
De syntaxis van de "patch” commando is als volgt:
$ patch [opties] [origineel bestand [patchbestand]]$ patch -pnum
Een patchbestand maken met "diff":
Broncodebestand 1:
Ten eerste zijn er twee verschillende versies van een broncode nodig om een patchbestand te maken. Het broncodebestand dat ik heb gemaakt, heet "mijn bestand.c”:s
#includeint hoofd()
printf("Hallo LinuxHint\n");
Broncodebestand 2:
Kopieer nu de inhoud van mijn bestand.c in de nieuw_mijnbestand.c, gebruik makend van:
$ cp mijnbestand.c nieuw_mijnbestand.cBreng enkele wijzigingen aan in het nieuw gemaakte bestand:
#includeongeldig hoofd()
printf ("Hallo Linux-hint");
printf("Welkom bij linuxhint");
Verschil controleren:
Laten we een patch-bestand maken met de naam als mijn bestand.pleister:
$ diff -u mijnbestand.c nieuw_mijnbestand.cU kunt het patchbestand afdrukken door de onderstaande opdracht uit te voeren:
$ kat mijnbestand.patch
Het patchbestand toepassen:
Gebruik om een patch toe te passen:
$ patch < myfile.patch
Zorg ervoor dat het patchbestand zich in de map bevindt waar het broncodebestand is geplaatst.
Maak een back-up voordat u de patch toepast:
Gebruik "-b” optie om een back-up van het patchbestand te maken:
$ patch -b < myfile.patch
Versie back-upbestand instellen
Als u meerdere back-ups van een enkel back-upbestand nodig hebt, gebruik dan de "-V" keuze. Het stelt het versienummer van elk back-upbestand in. Voer de onderstaande opdracht uit:
$ patch -b -V genummerd < myfile.patch
Patchbestanden valideren
Als u het resultaat van het patchen wilt controleren of observeren, gebruik dan "-oefening" keuze. Het brengt geen enkele wijziging aan in het originele bestand:
$ patch --dry-run < myfile.patch
Een patch terugdraaien/ongedaan maken
De optie "-R" wordt gebruikt om een patch die al is toegepast ongedaan te maken of terug te draaien.
$ patch < file.patch$ ls -l mijnbestand.c
$ patch -R < myfile.patch
$ ls -l mijnbestand.c
Conclusie:
In het Linux-besturingssysteem is "patch" een commando waarmee we patchbestanden kunnen toepassen op de broncodes of configuratiebestanden. Het patchbestand wordt gebruikt voor software-updatedoeleinden. Het verschil tussen de originele en nieuwe bestanden wordt bewaard in patch-bestanden en de opdracht "diff" wordt gebruikt om het verschil of de patch te krijgen. We bespraken het gebruik van de commando's "diff" en "patch" met een aantal opties zoals het maken van back-ups, drooglopen en het terugdraaien van de aangebrachte patch.