Linux下rpm、yum和源碼三種安裝方式簡介


Linux下rpm、yum和源碼三種安裝方式簡介

1、源碼安裝

源碼安裝優點

1、文檔齊全

2、因為可以定位到代碼,所以debug方便

3、本機兼容性最好(由於是本機編譯的,只要編譯通過,就沒有各種庫的依賴的問題)

源碼包安裝詳解

 

 

卸載

        通過源碼包安裝的軟件,當你想要卸載的時候,只需要把整個安裝路徑刪除掉就行了,100%卸載,不會像windows那樣經常會殘留那多注冊表之類的垃圾。

        根據你的安裝時候選擇的安裝路徑,源碼包的卸載又倉庫兩種情況:

        如果你安裝時候指定的路徑為: --prefix=/usr/local/XXX,那么卸載的時候只需要把XXX這個文件夾刪除即可,因為該軟件安裝的所有文件都是放置在XXX這個文件夾。

        但如果你進行源碼包安裝的時候沒有指定位置(默認值一般為/usr/local/),或指定的位置為--prefix=/usr/local,則這時候你安裝軟件生成的文件將分別存儲在/usr/local/里面的bin、lib或ect等目錄中,這時候卸載起來就相對麻煩一點了


 

2、RPM包安裝

  RPM命名“RedHat Package Manager”,簡稱則為RPM。這個機制最早由Red Hat這家公司開發出來的,后來實在很好用,因此很多distributons就使用這個機制來作為軟件安裝的管理方式,包括Fedora,CentOS,SuSE等知名的開發商都是用它。

        RPM最大的特點就是需要安裝的軟件已經編譯過,並已經打包成RPM機制的安裝包,通過里頭默認的數據庫記錄這個軟件安裝時需要的依賴軟件。當安裝在你的Linux主機時,RPM會先依照軟件里頭的數據查詢Linux主機的依賴屬性軟件是否滿足,若滿足則予以安裝,若不滿足則不予安裝。

命名規則

軟件名稱-版本號-發布次數.適合linux系統.硬件平台.rpm

對於一個rpm包來說,都是有"-"和"."構成的,基本上有以下幾部分組成:

* 包名 *版本信息 * 發布版本號 * 運行平台,當出現noarch,代表的是軟件可以平台兼容

RPM優缺點

優點:

1)軟件已經編譯打包,所以傳輸和安裝方便,讓用戶免除編譯

2)在安裝之前,會先檢查系統的磁盤、操作系統版本等,避免錯誤安裝

3)軟件的信息都已經記錄在linux主機的數據庫上,方便查詢、升級和卸載

缺點:

1)軟件包安裝的環境必須與打包時的環境一致或相當

2)必須安裝了軟件的依賴軟件

3)卸載時,最底層的軟件不能先移除,否則可能造成整個系統不能用

RPM安裝原理圖

 

 

 

 常用用法

2.1.1 安裝

rpm -i 需要安裝的包文件

rpm -iv 需要安裝的包文件(顯示安裝詳情)

rpm -ivh 需要安裝的包文件(顯示安裝詳情及進度)

2.1.2 升級

rpm -U 需要升級的包文件

rpm -Uvh 需要升級的包文件(顯示升級詳情及進度)

2.1.3 卸載

rpm -e 需要卸載的軟件包

注:如果其他程序依賴要卸載的包,系統會提示不能刪除,若需要強行刪除加上--nodeps,

會強制刪除,但可能導致依賴於它的軟件不能運行。

2.1.4 查看已安裝

rpm -qa

2.1.5 查看指定包

rpm -qa | grep "軟件或者包的名字"


 

3、yum安裝

        YUM可以看作是CS架構的軟件,YUM的存在很好的解決了RPM的屬性依賴問題。

        YUM通過依賴rpm軟件包管理器, 實現了rpm軟件包管理器在功能上的擴展, 因此YUM是不能脫離rpm而獨立運行的。

YUM的特點

1)可以同時配置多個資源庫(Repository)

2)簡潔的配置文件(/etc/yum.conf)

3)自動解決增加或刪除rpm包時遇到的依賴性問題

4)使用方便

5)保持與RPM數據庫的一致性

   Server端先對程序包進行分類后存儲到不同repository容器中; 再通過收集到大量的rpm的數據庫文件中程序包之間的依賴關系數據, 生成對應的依賴關系和所需文件在本地的存放位置的說明文件(.xml格式), 存放在本地的repodata目錄下供Client端取用

        Cilent端通過yum命令安裝軟件時發現缺少某些依賴性程序包, Client會根據本地的配置文件(/etc/yum.repos.d/*.repo)找到指定的Server端, 從Server端repo目錄下獲取說明文件xxx.xml后存儲在本地/var/cache/yum中方便以后讀取, 通過xxx.xml文件查找到需要安裝的依賴性程序包在Server端的存放位置, 再進入Server端yum庫中的指定repository容器中獲取所需程序包, 下載完成后在本地實現安裝。

   Server端先對程序包進行分類后存儲到不同repository容器中; 再通過收集到大量的rpm的數據庫文件中程序包之間的依賴關系數據, 生成對應的依賴關系和所需文件在本地的存放位置的說明文件(.xml格式), 存放在本地的repodata目錄下供Client端取用

        Cilent端通過yum命令安裝軟件時發現缺少某些依賴性程序包, Client會根據本地的配置文件(/etc/yum.repos.d/*.repo)找到指定的Server端, 從Server端repo目錄下獲取說明文件xxx.xml后存儲在本地/var/cache/yum中方便以后讀取, 通過xxx.xml文件查找到需要安裝的依賴性程序包在Server端的存放位置, 再進入Server端yum庫中的指定repository容器中獲取所需程序包, 下載完成后在本地實現安裝。

 YUM原理圖

        注意:YUM是一個在線軟件管理工具,所以使用YUM進行的操作大都是需要在聯網的條件下才能正常使用。

 

3.1 安裝流程

1、安裝: yum install 軟件

2、升級: yum update 軟件

3、刪除: yum remove 軟件

4、查看: yum info 軟件

5、搜索軟件: yum search 軟件

6、查看依賴關系: yum deplist 軟件

7、查看已安裝軟件: yum list installded

3.2  [選項] [參數]:

-e 靜默執行

-t 忽略錯誤

-R[分鍾] 設置等待時間

-y 自動應答yes

check-update 檢查可更新的包

clean all 清除全部

clean packages 清除臨時包文件(/var/cache/yum 下文件)

clean headers 清除rpm頭文件

clean oldheaders 清除舊的rpm頭文件

deplist 列出包的依賴

list 可安裝和可更新的RPM包

list installed 已安裝的包

list extras 已安裝且不在資源庫的包

info 可安裝和可更新的RPM包 信息

info installed 已安裝包的信息(-qa 參數相似)

install[RPM包] 安裝包

localinstall 安裝本地的 RPM包

update[RPM包] 更新包

upgrade 升級系統

search[關鍵詞] 搜索包

provides[關鍵詞] 搜索特定包文件名

reinstall[RPM包] 重新安裝包

repolist 顯示資源庫的配置

resolvedep 指定依賴

remove[RPM包] 卸載包

 

參考文檔: https://www.cnblogs.com/gmlkl/p/9354254.html   https://www.jianshu.com/p/d021380f6d02


免責聲明!

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



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