Options and descriptions for patch command

Options

Descriptions

-p<n> or –strip=<n>

Tells patch how many directory levels to remove from file paths in the patch file. Use this when the patch file has different directory paths than your current folder.

-i <patch_file> or –input=<patch_file>

Specifies the patch file to use. Use this if you don’t want to provide the patch file as a separate argument.

-d <directory> or –directory=<directory>

Tells patch the folder where the original file is located. Use this if the patch file doesn’t include the folder information.

-R or –reverse

Undoes changes made by a previous patch, reversing the patch. Use this to remove changes applied earlier.

-N or –forward

Applies the patch even if the original file is missing.

How to Run Patch Command in Linux?

Sometimes, you install software by compiling it from source code instead of using package managers like yum or apt-get. When a security fix is available for such software, you can’t just upgrade it like you normally would. Instead, you must download the security patch, apply it to the source code, and then recompile the software.

This article explains how to create and apply the diff and patch commands. A patch file contains the differences between two versions of the same file or source code. It is made using the diff command and applied using the patch command.

Run Patch Command in Linux

  • Syntax of running patch command in Linux
  • Application of the Patch File
  • Options and descriptions for patch command
  • Create a Patch File using diff
  • Apply Patch File using Patch Command
  • Create a Patch From a Source Tree
  • Apply Patch File to a Source Code Tree
  • Take a Backup before Applying the Patch using -b
  • Validate the Patch without Applying (Dry-run Patch File)
  • How to Undo/Reverse a Patch

Similar Reads

Syntax of running patch command in Linux

The Linux patch command is used to apply changes to files. You need the original patch files to run the patch. Here is the basic syntax....

Application of the Patch File

1. Have the Original File: Make sure you have the file that needs to be modified. This is the file you will apply the patch to....

Options and descriptions for patch command

Options Descriptions -p or –strip= Tells patch how many directory levels to remove from file paths in the patch file. Use this when the patch file has different directory paths than your current folder. -i or –input= Specifies the patch file to use. Use this if you don’t want to provide the patch file as a separate argument. -d or –directory= Tells patch the folder where the original file is located. Use this if the patch file doesn’t include the folder information. -R or –reverse Undoes changes made by a previous patch, reversing the patch. Use this to remove changes applied earlier. -N or –forward Applies the patch even if the original file is missing....

Create a Patch File using diff

Let’s start with a small C program called hello.c:...

Apply Patch File using Patch Command

The “patch” command allows you to apply the changes in a patch file to the original file(s). To do that use the below command....

Create a Patch From a Source Tree

The previous example was very simple, involving only one file. However, when working with larger projects, you may need to create and apply patches for an entire source code directory or “source tree.”...

Apply Patch File to a Source Code Tree

To apply the openvpn.patch file to the openvpn-2.3.2 source code directory, use the following command....

Take a Backup before Applying the Patch using -b

You can make a backup copy of the original file before applying a patch. This is done using the -b option with the following patch command....

Validate the Patch without Applying (Dry-run Patch File)

You can test the patch command without actually modifying any files. This is called a “dry run.” To do a dry run, use the –dry-run option....

How to Undo/Reverse a Patch

You can undo or reverse a patch that you’ve already applied using the -R option use the below command....

Run Patch Command in Linux – FAQs

What is a patch file, and why would I need one?...