前面為大家介紹了RPM二進制包安裝軟件,RPM包安裝的最大的缺點也提到過,就是依賴性太強,一旦遇到依賴問題,則需要我們手動解決包之間具有依賴性的問題,今天為大家介紹一種可自動解決包之間依賴關系的安裝方式:yum
。
yum
全稱“Yellow dog Updater, Modified”,是一個專門為了解決包的依賴關系而存在的軟件包管理器。就好像 Windows 系統上我們通常可以通過各種軟件管家實現軟件的一鍵安裝、升級和卸載,yum就是Linux 系統中的一鍵安裝工具
。yum
解決依賴關系的基本邏輯是:yum 在服務器端存有所有的 RPM 包,並將各個包之間的依賴關系記錄在文件中,當管理員使用 yum 安裝 RPM 包時,yum 會先從服務器端下載包的依賴性文件,通過分析此文件從服務器端一次性下載所有相關的 RPM 包並進行安裝。
一、yum安裝
CentOS 默認已經安裝了yum,不需要另外安裝,不過為了保險起見,我們還是先看下系統中是否已安裝了yum:
$rpm -qa|grep yum
如上截圖,表示系統中已經安裝了yum。
二、yum源配置
何為yum源,使用 yum 安裝軟件包之前,需指定好 yum 下載 RPM 包的位置,此位置稱為 yum 源。換句話說,yum 源指的就是軟件安裝包的來源。
使用 yum 安裝軟件時至少需要一個yum源。yum源既可以使用網絡yum源,也可以將本地光盤作為yum源。接下來就給大家介紹配置網絡yun源,個人習慣阿里雲的源。
網絡 yum 源配置文件位於/etc/yum.repos.d/
目錄下,文件擴展名為".repo"(只要擴展名為 ".repo" 的文件都是 yum 源的配置文件),通常情況下我們關注 CentOS-Base.repo 文件即可:
我們來看下這個文件里面都有什么內容:
vi CentOS-Base.repo
[BaseOS]
:容器名稱,一定要放在[]中name
:容器說明mirrorlist
:鏡像站點baseurl
:yum 源服務器的地址。默認是 CentOS 官方的 yum 源服務器,是可以使用的。如果你覺得慢,則可以改成你喜歡的 yum 源地址enabled
:此容器是否生效,如果不寫或寫成 enabled 則表示此容器生效,寫成 enable=0 則表示此容器不生效gpgcheck
:如果為 1 則表示 RPM 的數字證書生效;如果為 0 則表示 RPM 的數字證書不生效gpgkey
:數字證書的公鑰文件保存位置。不用修改
1、我們首先將Centos-Base.repo文件進行備份
文件備份可以用cp
命令復制一份,也可以把文件壓縮成一個壓縮包,這里我習慣壓縮成一個壓縮包:
$ zip Centos-Base.repo.zip Centos-Base.repo
2、刪除Centos-Base.repo文件
$rm Centos-Base.repo
3、下載阿里雲的yum源到etc/yum.repos.d文件目錄下
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4、清理yum並生成緩存
$ yum clean all
三、yum相關操作命令
1、yum查詢命令
yum list
:查詢所有已安裝和可安裝的軟件包yum list [包名]
:查詢執行軟件包的安裝情況yum search [關鍵字]
:從 yum 源服務器上查找與關鍵字相關的所有軟件包yum info [包名]
:查詢執行軟件包的詳細信息
2、yum安裝命令
yum 安裝軟件包的命令基本格式為:
yum -y install 包名
install
:表示安裝軟件包。-y
:自動回答結果為yes
。如果不加 -y,那么每個安裝的軟件都需要手動回答 yes
3、yum 升級命令
使用 yum 升級軟件包,需確保yum源服務器中軟件包的版本比本機安裝的軟件包版本高
$ yum -y update
:升級所有軟件包。不過考慮到服務器強調穩定性,因此該命令並不常用。$ yum -y update [包名]
:升級特定的軟件包
4、yum 卸載命令
$ yum remove 包名
使用 yum 卸載軟件包時,會同時卸載所有與該包有依賴關系的其他軟件包,即便有依賴包屬於系統運行必備文件,也會被 yum 無情卸載,帶來的直接后果可能會使系統崩潰。除你能確定卸載此包以及它的所有依賴包不會對系統產生影響,否則不要使用 yum 卸載軟件包。