zoukankan      html  css  js  c++  java
  • linux命令: patch

    一. 针对单文件的patch:

    我们以mkprj.sh.1和mkprj.sh两个文件为例:

    [root@localhost tst]# ls
    mkprj.sh.1  mkprj.sh

    看两个文件的差异:
    [root@localhost tst]# diff mkprj.sh mkprj.sh.1
    20,21c20
    < cd $workdir/fornew; mkdir crosstools kernel nfs_root uboot;
    < cd $workdir/farsight; mkdir crosstools kernel nfs_root uboot;
    ---
    > cd $workdir/farsight1; mkdir crosstools kernel nfs_root uboot;
    23c22
    <
    ---
    > cd $workdir/configs2;

    1. 做补丁patch
    [root@localhost tst]# diff mkprj.sh mkprj.sh.1  > mk_patch
    2. 打补丁patch

    [root@localhost tst]# patch mkprj.sh < mk_patch
    patching file mkprj.sh

    观察两个文件,已经相同:
    [root@localhost tst]# diff mkprj.sh mkprj.sh.1 

    3. 卸载补丁patch

    [root@localhost tst]# patch -R mkprj.sh  < mkpatch
    patching file mkprj.sh

    观察两个文件,mkprj.sh又变回原来的样子了.
    [root@localhost tst]# diff mkprj.sh mkprj.sh.1
    20,21c20
    < cd $workdir/fornew; mkdir crosstools kernel nfs_root uboot;
    < cd $workdir/farsight; mkdir crosstools kernel nfs_root uboot;
    ---
    > cd $workdir/farsight1; mkdir crosstools kernel nfs_root uboot;
    23c22
    <
    ---
    > cd $workdir/configs2;

    二、针对目录的patch

    如何制作LINUX的patch文件及如何打patch http://blog.csdn.net/zhenwenxian/article/details/8393731

    #ls /work/kernel

    linux-2.6.22.6    linux-2.6.22.6_jz2440

    1. 做补丁patch

    #diff -Naur linux-2.6.22.6/    linux-2.6.22.6_jz2440/   > linux-2.6.22.6_jz2440.patch

    #ls /work/kernel

    linux-2.6.22.6    linux-2.6.22.6_jz2440   linux-2.6.22.6_jz2440.patch

    2. 打补丁patch

    #cd /work/kernel/linux-2.6.22.6

      patch -p1 < ../linux-2.6.22.6_jz2440.patch

    3. 卸补丁(-R)

      patch -R -p1 < ../linux-2.6.22.6_jz2440.patch

  • 相关阅读:
    角学习教程
    用AngularJS指令扩展HTML
    MVC 6动态导航菜单从数据库
    从Angular5和ASP开始。网络核心
    .NET中的音乐符号
    在Blazor的音乐符号-第二部分
    ASP。NET Core 2.1:集成VMD.RESTApiResponseWrapper。REST API应用程序的核心
    AsyncHttpClient
    Mina
    Volley
  • 原文地址:https://www.cnblogs.com/mylinux/p/5636393.html
Copyright © 2011-2022 走看看