Skip to main content

Como aplicar um patch a um arquivo usando o Linux

Usando Hirens Boot e Linux Pra Salvar Arquivos (Abril 2025)

Usando Hirens Boot e Linux Pra Salvar Arquivos (Abril 2025)
Anonim

Este guia fornece uma visão geral básica para aplicar um patch a um programa ou arquivo.

O comando usado para aplicar os patches é o comando patch, mas para aplicar um patch, o comando diff também precisa ser usado para fornecer as diferenças que precisam ser corrigidas.

Por que você criaria um patch

Imagine que você tenha um arquivo HTML da seguinte forma:

Meu site

Bem vindo ao MySite

A fonte acima, quando carregada em um navegador da Web, mostrará as palavras "Bem-vindo ao MySite".

É comum quando se programa para que haja várias versões do mesmo arquivo. Por exemplo, haveria uma versão que é a versão ao vivo atual, haveria outra versão no ramo de desenvolvimento que pode conter várias alterações, finalmente, pode haver outra versão em um ramo de lançamento.

O ramo de lançamento seria a versão usada por usuários reais (ou seja, neste caso, os visitantes do site MySite). Vamos dizer que o MySite está na versão 1.0. Depois de uma fase de desenvolvimento, você criará um branch de release que seria, neste caso, 1.1. A ramificação de desenvolvimento estará à frente da ramificação do release, pois ela pode conter alterações que não devem ser lançadas na versão 1,2, mas serão para a versão 1.1.

Imagine que houve um bug pelo qual o MySite deveria ser chamado de YourSite. Você poderia ir para cada filial e fazer alterações na versão ao vivo, na versão de desenvolvimento e na versão de lançamento de você poderia fazer a alteração como um hotfix em tempo real e, em seguida, aplicar o patch nas ramificações de desenvolvimento e lançamento.

Um exemplo trabalhado

Crie um arquivo chamado myfile.html com o seguinte código:

Meu site

Bem vindo ao MySite

Este é um exemplo trabalhado de correção de código-fonte.

Crie outro arquivo chamado myfile_v2.html com o seguinte código:

YourSite

Seja bem-vindo ao YourSite

Este é um exemplo trabalhado de correção de código-fonte.

O primeiro arquivo é a página da web original com o título "Welcome to MySite". O segundo arquivo é o mesmo que o primeiro arquivo, exceto MyFile é renomeado para YourFile no texto.

Como criar o arquivo Diff

Para criar um patch, precisamos descobrir as diferenças entre myfile.html e myfile_v2.html.

Podemos fazer isso com o comando diff da seguinte forma:

diff -u myfile.html myfile_v2.html> myfile.patch

Você pode abrir o arquivo myfile.patch no editor nano da seguinte maneira para visualizá-lo:

nano myfile.patch

Linhas inalteradas são mostradas em azul. As linhas que foram removidas são mostradas em vermelho e as linhas que foram adicionadas são mostradas em verde.

Como aplicar o patch usando o comando patch

Para aplicar o patch a myfile.html, use o seguinte comando:

patch <myfile.patch

Como reverter um patch

Isso aplicará as alterações criadas usando o comando diff no arquivo original myfile.html.

Se você quiser reverter o patch para que myfile.html volte ao estado original, use o seguinte comando:

patch -R <myfile.patch

Resumo

O comando patch pode ser usado para aplicar correções em toda a estrutura de diretórios.

Existem ferramentas muito melhores do que o comando patch para criar patches e garantir um bom controle de origem.

Há uma razão para tantos projetos de desenvolvimento usarem o GIT para controle de origem. O GIT facilita a criação de uma estratégia de ramificação consistente.

O comando patch está ok para aplicar diferenças a um script bash ou algo simples, mas você pode facilmente criar uma cópia de backup dos arquivos que deseja corrigir e simplesmente copiar os novos arquivos para o mesmo local.

Para mais informações, use o comando man:

remendo do homem