O "diff" é abreviado como "diferenças" e é usado para comparar o conteúdo de dois arquivos e listar as mudanças na saída padrão.
Um conjunto de códigos-fonte constitui um software. Os desenvolvedores criam o código-fonte que evolui com o tempo. Obter um novo arquivo para cada atualização não é realista ou demorado. Portanto, o método mais seguro é distribuir apenas melhorias. As modificações são feitas no arquivo antigo e, em seguida, um arquivo novo ou corrigido é criado para a nova versão do software.
Este guia mostra como usar o comando “diff” para gerar um arquivo de patch e depois aplicá-lo com o comando “patch”.
Sintaxe:
A sintaxe do “correção”Comando é o seguinte:
$ patch [opções] [arquivo original [arquivo de patch]]$ patch -pnum
Criando um arquivo de patch usando “diff”:
Arquivo de código-fonte 1:
Em primeiro lugar, duas versões diferentes de um código-fonte são necessárias para criar um arquivo de patch. O arquivo de código-fonte que criei é denominado como “meu arquivo.c”: S
#incluirint main ()
printf ("Olá LinuxHint \ n");
Arquivo de código-fonte 2:
Agora, copie o conteúdo de meu arquivo.c no novo_meuarquivo.c, usando:
$ cp meuarquivo.c novo_meuarquivo.cFaça algumas alterações no arquivo recém-criado:
#incluirvoid main ()
printf ("Olá, dica do Linux");
printf ("Bem-vindo ao linuxhint");
Verificando a diferença:
Vamos criar um arquivo de patch chamado meu arquivo.correção:
$ diff -u meuarquivo.c novo_meuarquivo.cVocê pode imprimir o arquivo de patch executando o comando abaixo:
$ cat meuarquivo.correção
Aplicando o arquivo de patch:
Para aplicar o patch, use:
$ patch < myfile.patch
Certifique-se de que o arquivo de patch esteja no diretório onde o arquivo de código-fonte está colocado.
Faça um backup antes de aplicar o patch:
Usar "-b”Opção para construir um backup do arquivo de patch:
$ patch -b < myfile.patch
Configurando a versão do arquivo de backup
Se você precisar de vários backups de um único arquivo de backup, use o botão “-V”Opção. Ele define o número da versão de cada arquivo de backup. Execute o comando fornecido abaixo:
$ patch -b -V numerado < myfile.patch
Validar arquivos de patch
Se você quiser verificar ou observar o resultado do patch, use “-funcionamento a seco”Opção. Ele não faz nenhuma modificação no arquivo original:
$ patch --dry-run < myfile.patch
Reverter / Desfazer um Patch
A opção “-R” é usada para reverter ou desfazer um patch que já foi aplicado.
$ patch < file.patch$ ls -l meuarquivo.c
$ patch -R < myfile.patch
$ ls -l meuarquivo.c
Conclusão:
No sistema operacional Linux, “patch” é um comando que nos permite aplicar arquivos de patch aos códigos-fonte ou arquivos de configuração. O arquivo de patch é usado para fins de atualização de software. A diferença entre os arquivos originais e novos é mantida nos arquivos de patch e o comando “diff” é usado para obter a diferença ou patch. Discutimos o uso dos comandos "diff" e "patch" com uma série de opções, como fazer backups, executar a seco e reverter o patch aplicado.