為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










免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM