日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux源码安装包快速升级方法

發布時間:2023/12/20 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux源码安装包快速升级方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux系統中更新用源碼包安裝的軟件,除了卸載重裝這種方法外,還可以下載補丁文件更新源碼包,用新的源碼包重新編譯安裝軟件。使用補丁文件更新源碼包,省去了用./configured生成新的Makefile文件,還省去了大量編譯工作,因此效率更高。

一、Linux補丁文件的生成和使用

Linux系統中可以使用diff命令對比出新舊軟件的不同,并生成補丁文件。

diff命令基本格式:[root@localhost ~]# diff 選項 old new? #比較old和new文件的不同

此命令中可使用如下幾個選項:

-a:將任何文檔當做文本文檔處理

-b:忽略空格造成的不同

-B:忽略空白行造成的不同

-l:忽略大小寫造成的不同

-N:當比較兩個目錄時,如果某個文件只在一個目錄中,則在另一個目錄中視作空文件

-r:當比較目錄時,遞歸比較子目錄

-u:使用同一輸出格式

從生成補丁文件,到使用其實現更新軟件的目的,為了讓讀者清楚地了解整個過程的來龍去脈,下面我們自己創建兩個文件(分別模擬舊軟件和新軟件),通過對比新舊文件生成補丁文件,最后利用補丁文件更新舊文件,具體步驟如下:

  • 創建兩個文件,執行如下命令: [root@localhost ~]# mkdir test? #建立測試目錄 [root@localhost ~]# cd test? #進入測試目錄 [root@localhost test]# vi old.txt our school is lampbrother #文件old.txt,為了便于比較,將每行分開 [root@localhost test]# vi new.txt our school is lampbrother in Beijing #文件new.txt

  • 利用 diff 命令,比較兩個文件(old.txt 和 new.txt)的不同,并生成補丁文件(txt.patch),執行代碼如下: [root@localhost test]# diff -Naur /root/test/old.txt /root/test/new.txt > txt. patch #比較兩個文件的不同,同時生成txt.patch補丁文件 [root@localhost test]#vi txt.patch? #查看一下這個文件 --/root/test/old.txt 2012-11-23 05:51:14.347954373 +0800#前一個文件 + + + /root/test/new.txt 2012-11-23 05:50:05.772988210 +0800 #后一個文件 @@-2, 3+2, 5@@ school is lampbrother +in +beijing #后一個文件比前一個文件多兩行(用+表示)

  • 利用補丁文件 txt.patch 更新 old.txt 舊文件,實現此步操作需利用 patch 命令,該命令基本格式如下:
  • [root@localhost test]# patch -pn < 補丁文件 #按照補丁文件進行更新 -pn 選項中,n 為數字(例如 p1、p2、p3 等),pn 表示按照補丁文件中的路徑,指定更新文件的位置。

    這里對 -pn 選項的使用做一下額外說明。我們知道,補丁文件是要打入舊文件的,但是當前所在目錄和補丁文件中記錄的目錄不一定是匹配的,需要 "-pn" 選項來同步兩個目錄。

    例如,當前位于 "/root/test/" 目錄下(要打補丁的舊文件就在當前目錄下),補丁文件中記錄的文件目錄為 "/root/test/dd.txt",如果寫入 "-p1"(在補丁文件目錄中取消一級目錄),那么補丁文件會打入 "root/test/root/test/old.txt" 文件中,這顯然是不對的;如果寫入的是 "-p2"(在補丁文件目錄中取消二級目錄),補丁文件會打入 "/root/test/test/old.txt" 文件中,這顯然也不對。如果寫入的是 "-p3"(在補丁文件目錄中取消三級目錄),補丁文件會打入 "/root/test/old.txt" 文件中,old.txt 文件就在這個目錄下,所以應該用 "-p3" 選項。

    如果當前所在目錄是 "/root/" 目錄呢?因為補丁文件中記錄的文件目錄為 "/root/test/old.txt",所以這里就應該用 "-p2" 選項(代表取消兩級目錄),補丁打在當前目錄下的 "test/old.txt" 文件上。

    因此,-pn 選項可以這樣理解,即想要在補丁文件中所記錄的目錄中取消幾個 "/",n 就是幾。去掉目錄的目的是和當前所在目錄匹配。
    ? 現在更新 "old.txt" 文件,命令如下: [root@localhost test]# patch -p3 < txt.patch patching file old.txt #給old.txt文件打補丁 [root@localhost test]# cat old.txt #查看一下dd.txt文件的內容 our school is lampbrother in Beijing #多出了in Beijing兩行 可以看到,通過使用補丁文件 txt.patch 對舊文件進行更新,使得舊文件和新文件完全相同。

  • 通過這個例子,大家要明白以下兩點:

  • 給舊文件打補丁依賴的不是新文件,而是補丁文件,所以即使新文件被刪除也沒有關系。
  • 補丁文件中記錄的目錄和當前所在目錄需要通過 "-pn" 選項實現同步,否則更新可能失敗。
  • 原文:Linux源碼包快速升級方法詳解

    配置yum:Linux配置yum源(本地源和網絡源) - 墨魚菜雞 - 博客園

    總結

    以上是生活随笔為你收集整理的Linux源码安装包快速升级方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。