Come eseguire il comando patch in Linux?

Come eseguire il comando patch in Linux?
La "patch" è un comando per l'aggiunta di file patch al codice sorgente o ai file di testo. Ci vuole input come file di patch e applica differenze ai file originali. Usiamo lo strumento "diff" per ottenere la differenza.

Il "diff" è abbreviato come "differenze" e viene utilizzato per confrontare il contenuto di due file ed elencare le modifiche all'output standard.

Un insieme di codici di origine costituisce un software. Gli sviluppatori costruiscono il codice sorgente che si evolve nel tempo. Ottenere un nuovo file per ogni aggiornamento non è realistico o richiede molto tempo. Pertanto, il metodo più sicuro è distribuire solo miglioramenti. Le modifiche vengono apportate al vecchio file e quindi viene creato un nuovo file patch o patch per la nuova versione del software.

Questa guida mostra come utilizzare il comando "diff" per generare un file patch e quindi applicarlo con il comando "patch".

Sintassi:

La sintassi del "toppa"Il comando è il seguente:

$ patch [options] [originalfile [patchfile]]
$ patch -pnum

Creazione di un file patch usando "diff":

File di codice sorgente 1:

In primo luogo, sono necessarie due diverse versioni di un codice sorgente. Il file del codice sorgente che ho creato è chiamato come "il mio file.C":S

#includere
int main ()
printf ("ciao linuxhint \ n");

File di codice sorgente 2:

Ora, copia il contenuto di il mio file.C nel new_myfile.C, Usando:

$ cp myfile.c new_myfile.C

Apportare alcune modifiche al file appena creato:

#includere
void main ()
printf ("Hello Linux suggerisce");
printf ("Welcome to LinuxHint");

Controllo della differenza:

Creiamo un file di patch chiamato come il mio file.toppa:

$ diff -u myfile.c new_myfile.C

È possibile stampare il file patch eseguendo il comando di seguito:

$ cat myfile.toppa

Applicazione del file patch:

Per applicare la patch, utilizzare:

$ patch < myfile.patch

Assicurarsi che il file patch sia nella directory in cui viene posizionato il file del codice sorgente.

Prendi un backup prima di applicare la patch:

Utilizzo "-B"Opzione per creare un backup del file patch:

$ patch -b < myfile.patch

Impostazione della versione del file di backup

Se hai bisogno di più backup di un singolo file di backup, usa il “-V" opzione. Imposta il numero di versione di ogni file di backup. Eseguire il comando indicato di seguito:

$ patch -b -v numerato < myfile.patch

Convalida i file patch

Se si desidera verificare o osservare il risultato del patching, allora usa "-funzionamento a secco" opzione. Non apporta alcuna modifica al file originale:

$ patch--Dry-Run < myfile.patch

Retromarcia/annulla una patch

L'opzione "-r" viene utilizzata per invertire o annullare una patch che è già stata applicata.

$ patch < file.patch
$ ls -l myfile.C
$ patch -r < myfile.patch
$ ls -l myfile.C

Conclusione:

Nel sistema operativo Linux, "Patch" è un comando che ci consente di applicare i file patch ai codici di origine o ai file di configurazione. Il file patch viene utilizzato per gli scopi di aggiornamento del software. La differenza tra i file originali e nuovi è trattenuta nei file patch e il comando "diff" viene utilizzata per ottenere la differenza o la patch. Abbiamo discusso dell'utilizzo dei comandi "diff" e "patch" con una serie di opzioni come fare backup, funzionare a secco e invertire la patch applicata.