zoukankan      html  css  js  c++  java
  • 为Centos系统打补丁

    4.1、操作系统打补丁:

    1、centos更新说明:

    centos 官方没有发布关于centos操作系统的补丁。

    centos 操作系统更新可以参考如下建议。


    2、更新操作系统软件包,操作系统版本、内核版本:

    yum update

    等价于

    yum upgrade


    3、根据需求更新软件包:

    # 检查可更新的软件包

    yum check-update

    # 根据可更新软件包列表,安装自己需要的软件包

    yum install <package_name>


    4、只更新软件包,不更系统版本和系统内核:

    yum --exclude=kernel* --exclude=centos-release* update


    4.2、使用patch命令给软件包打补丁,适用于名称相同文件的操作:

    1、创建实验环境:

    [root@controlnode ~]# mkdir -p /tools/ && cd /tools/

    [root@controlnode tools]# mkdir demo/ && cd demo/

    [root@controlnode demo]# mkdir -p old/a/b/

    [root@controlnode demo]# mkdir -p new/a/b/

    [root@controlnode demo]# vim old/a/b/foo.txt

    old_line_1

    old_line_2

    [root@controlnode demo]# vim new/a/b/foo.txt

    new_line_1

    new_line_2


    2、制作补丁:old目录和new目录数据保持一致,把对old目录需要做的操作记录下来:

    [root@controlnode demo]# diff -Naur old/ new/ > foo.patch


    3、查看补丁文件:

    [root@controlnode demo]# cat foo.patch

    diff -Naur old/a/b/foo.txt new/a/b/foo.txt

    --- old/a/b/foo.txt 2020-08-11 23:03:27.006968726 +0800

    +++ new/a/b/foo.txt 2020-08-11 23:03:50.258730620 +0800

    @@ -1,2 +1,2 @@

    -old_line_1

    -old_line_2

    +new_line_1

    +new_line_2


    4、应用补丁:

    [root@controlnode demo]# patch -p0 < foo.patch

    patching file old/a/b/foo.txt

    [root@controlnode demo]# cat old/a/b/foo.txt

    new_line_1

    new_line_2

    等价于

    [root@controlnode old]# pwd

    /tools/demo/old

    [root@controlnode old]# patch -p1 < ../foo.patch

    等价于

    [root@controlnode a]# pwd

    /tools/demo/old/a

    [root@controlnode a]# patch -p2 < ../../foo.patch


    5、patch 补充:

    (1)参数说明:

    -pn:p为path的缩写,n指将patch文件里的path第n条'/'及其左边部分取消

    -R:卸载patch包

    --dry-run:尝试patch软件,并不真正改动软件


    (2)如果打过补丁再次使用patch命令,系统会问你是否想还原回去:

    1)patch -p0 < foo.patch

    patching file old/a/b/foo.txt

    Reversed (or previously applied) patch detected! Assume -R? [n] y

    2)查看一下目标文件,你会发现内容已经还原成旧的了

    # cat old/a/b/foo.txt

    old_line_1

    old_line_2

    3)如果你想严格指定是应用补丁可以使用下面命令(就是增加N参数)

    # patch -Np0 < foo.patch

    4)如果你想严格指定是还原补丁可以使用下面命令(就是增加R参数)

    # patch -Rp0 < foo.patch









  • 相关阅读:
    React性能优化记录(不定期更新)
    JSX设置CSS样式详解
    org.tinygroup.htmlparser-Html解析器
    org.tinygroup.application-应用启动框架
    org.tinygroup.beancontainer-IOC、AOP框架
    org.tinygroup.vfs-虚拟文件系统
    org.tinygroup.templateengine-模板引擎
    org.tinygroup.dbfilter
    org.tinygroup.templateweb-模板文件处理器
    org.tinygroup.flow-流程引擎
  • 原文地址:https://www.cnblogs.com/LiuChang-blog/p/14704205.html
Copyright © 2011-2022 走看看