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
#includereFile 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:
#includereControllo 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.toppaApplicazione del file patch:
Per applicare la patch, utilizzare:
$ patch < myfile.patchAssicurarsi 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.patchImpostazione 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.patchConvalida 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.patchRetromarcia/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.CConclusione:
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.