Comenzi Linux

Cum se execută comanda „patch” în Linux?

Cum se execută comanda „patch” în Linux?
„Patch” este o comandă pentru adăugarea de fișiere de patch-uri la codul sursă sau fișiere text. Prinde intrarea ca fișier patch și aplică diferențe la fișierele originale. Folosim instrumentul „diff” pentru a face diferența.

„Dif” este abreviat ca „diferențe” și este utilizat pentru a compara conținutul a două fișiere și pentru a enumera modificările la ieșirea standard.

Un set de coduri sursă alcătuiește un software. Dezvoltatorii construiesc codul sursă care evoluează în timp. Obținerea unui fișier nou pentru fiecare actualizare este nerealistă sau consumă mult timp. Prin urmare, cea mai sigură metodă este de a distribui numai îmbunătățiri. Modificările sunt aduse fișierului vechi și apoi se creează un fișier nou sau corecționat pentru noua versiune de software.

Acest ghid vă arată cum să utilizați comanda „diff” pentru a genera un fișier patch și apoi să îl aplicați cu comanda „patch”.

Sintaxă:

Sintaxa „plasture”Comanda este după cum urmează:

$ patch [opțiuni] [originalfile [patchfile]]
$ patch -pnum

Crearea unui fișier Patch folosind „diff”:

Fișierul cod sursă 1:

În primul rând, sunt necesare două versiuni diferite ale unui cod sursă pentru a crea un fișier patch. Fișierul cod sursă pe care l-am creat este denumit „Dosarul meu.c”: S

#include
int main ()
printf ("Bună ziua LinuxHint \ n");

Fișierul cod sursă 2:

Acum, copiați conținutul Dosarul meu.c în new_myfile.c, folosind:

$ cp fișierul meu.c new_myfile.c

Efectuați câteva modificări în fișierul nou creat:

#include
void main ()
printf („Bună sfat Linux”);
printf („Bun venit la linuxhint”);

Verificarea diferenței:

Să creăm un fișier patch numit ca Dosarul meu.plasture:

$ diff -u myfile.c new_myfile.c

Puteți imprima fișierul patch executând comanda de mai jos:

$ cat myfile.plasture

Aplicarea fișierului Patch:

Pentru a aplica patch-ul, utilizați:

$ patch < myfile.patch

Asigurați-vă că fișierul de corecție se află în directorul în care este plasat fișierul cod sursă.

Faceți o copie de rezervă înainte de a aplica patch-ul:

Utilizare "-b”Opțiune pentru a crea o copie de rezervă a fișierului patch:

$ patch -b < myfile.patch

Setarea versiunii fișierului de rezervă

Dacă aveți nevoie de mai multe copii de siguranță ale unui singur fișier de copiere de siguranță, utilizați „-V" opțiune. Setează numărul versiunii fiecărui fișier de rezervă. Executați comanda dată mai jos:

$ patch -b -V numerotat < myfile.patch

Validați fișierele patch-uri

Dacă doriți să verificați sau să observați rezultatul patch-urilor, utilizați „-alergare uscată" opțiune. Nu aduce nicio modificare fișierului original:

$ patch - run-uscat < myfile.patch

Reverse / Anulați un patch

Opțiunea „-R” este utilizată pentru a inversa sau a anula un patch care a fost deja aplicat.

$ patch < file.patch
$ ls -l fișierul meu.c
$ patch -R < myfile.patch
$ ls -l fișierul meu.c

Concluzie:

În sistemul de operare Linux, „patch” este o comandă care ne permite să aplicăm fișiere patch la codurile sursă sau la fișierele de configurare. Fișierul patch este utilizat în scopul actualizării software-ului. Diferența dintre fișierele originale și cele noi este păstrată în fișierele de patch-uri și comanda „diff” este utilizată pentru a obține diferența sau patch-ul. Am discutat despre utilizarea comenzilor „diff” și „patch” cu o serie de opțiuni, cum ar fi realizarea copiilor de rezervă, rularea la uscat și inversarea patch-ului aplicat.

OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...