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
