軟件安裝與升級——yum

軟件安裝與升級——yum

yum是通過分析RPM的標頭資料後,根據各軟件的相關性製作出屬性相依時的解決方案,自動處理軟件的關聯問題,實現軟件安裝、升級、移除。

爲了方便用戶軟件安裝、升級,distribution 會先釋出軟件,然後將軟件放置在一個服務器上,這個服務器可以被稱爲yum源。目前有許多的yum源,用戶在使用yum時,可以找到合適的yum源,裏面有許多不同的軟件。

查詢

如果需要查看原版distribution所提供的軟件,或想知道某軟件的功能,可以使用yum來查詢。

yum [option] [參數] [參數值]

選項與參數
[option]主要的選項有以下幾個:

  • -y:當yum要等待用戶輸入時,這個選項可以自動提供yes的響應
  • -h:顯示幫助信息
  • -c:指定配置文件
  • -q:安靜模式
  • -v:詳細模式
  • -d:設置調試等級(0-10)
  • -e:設置錯誤等級(0-10)
  • -R:設置yum處理一個命令的最大等待時間
  • -C:完全從緩存中運行,而不去下載或者更新任何頭文件
  • --installroot=/some/path:將該軟件安裝在/some/path而不使用默認路徑

[參數]的選項有以下幾個:

  • search:搜尋某個軟件名稱或是描述(discription)的重要關鍵字
  • list:列出目前yum所管理的所有的軟件名稱與版本,有點類似rpm -qa
  • info:同上,不過有點類似rpm -qai的運行結果
  • provides:通過文件搜尋軟件,類似rpm -qf的功能

安裝與升級

yum [option] [參數] [參數值]

[option]可以參考上面查詢的選項。
[參數]則有install/updateinstall用於安裝軟件,update用戶升級軟件,後面都是接對應的軟件名。

移除軟件

yum [option] remove 軟件名稱

[option]可以參考上面查詢的選項。
移除軟件的時候,直接在remove後面接軟件名稱即可。

yum源配置文件

yumyum源配置文件一般位於/etc/yum.repos.d目錄下,如文件/etc/yum.repos.d/CentOS-Base.repo就是CentOS系統下yum源的配置文件。

# 查看配置文件內容
[root@instance-d619ad0f ~]# vim /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirrors.baidubce.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

如上所示,配置文件中有設置一個名爲base的軟件庫,配置的參數說明如下:

  • [base]:軟件庫的名稱,中括號必須存在,裏面的名稱可以隨便取,但不能有兩個相同名稱的軟件庫
  • name:說明該軟件庫的意義,只是起到說明作用。
  • mirrorlist:設置這個軟件庫的映射站臺,設置了這個映射站臺,yum程序會通過該站臺尋找yum源,不想用可以註釋掉
  • baseurl:用戶設定實際的yum源mirrorlist是由yum自動尋找yum源baseurl是指定一個yum源
  • enabled:設置是否開啓使用該軟件庫,1爲啓用,0爲禁用
  • gpgcheck:指定是否需要查閱RPM文件內的數字簽名
  • gpgkey:數字簽名公鑰文件的位置

我們可以通過以下指令來查看當前系統中所有軟件庫。

[root@instance-d619ad0f ~]# yum repolist all
Loaded plugins: langpacks, versionlock
repo id                                repo name                             status
C7.0.1406-base/x86_64                  CentOS-7.0.1406 - Base                disabled
C7.0.1406-centosplus/x86_64            CentOS-7.0.1406 - CentOSPlus          disabled
省略...
C7.4.1708-updates/x86_64               CentOS-7.4.1708 - Updates             disabled
baidu-bcm                              Baidu Cloud Monitor (BCM)             enabled:     66
base/7/x86_64                          CentOS-7 - Base                       enabled:  9,911
base-debuginfo/x86_64                  CentOS-7 - Debuginfo                  disabled
省略...
extras/7/x86_64                        CentOS-7 - Extras                     enabled:    432
extras-source/7                        CentOS-7 - Extras Sources             disabled
fasttrack/7/x86_64                     CentOS-7 - fasttrack                  disabled
updates/7/x86_64                       CentOS-7 - Updates                    enabled:  1,614
updates-source/7                       CentOS-7 - Updates Sources            disabled

修改軟件庫時產生的問題與解決方法

yum源配置文件都是在/etc/yum.repos.d目錄下,且該目錄下文件擴展名爲.repo的纔會被系統認爲是yum源配置文件。此外,yum會生成軟件庫清單並保存到/var/cache/yum中,而yum生成清單時是把軟件庫名稱(即中括號中的文字,如:base)當做一個軟件庫的唯一標識。所以,當我們更改了軟件庫的yum源卻沒有更改軟件庫名稱,可能會造成本機的軟件列表與yum源上的軟件列表不同步,這樣就會出現無法更新的問題。此時我們可以通過如下指令來清除本機上的軟件清單。

yum clean [packages|headers|all]
  • packages:刪除已下載的軟件文件
  • headers:將下載的軟件文件頭刪除
  • all:將所有軟件庫數據都刪除

針對以上問題,我們可以使用yum clean all來解決。

yum 的軟件羣組功能

當一個項目需要用到許多軟件時,我們一個個裝未免顯得有點麻煩。此時,我們可以使用yum的軟件羣組功能。

yum [option] [參數] [參數值]

[option]可以參考yum查詢中提到的選項。
[參數]有如下選項:

  • grouplist:列出所有可能使用的軟件羣組
  • groupinfo:後面接軟件羣組名稱,可以查看軟件羣組中所有的軟件名
  • groupinstall:後面接軟件羣組名稱,可以安裝軟件羣組中的所有軟件
  • groupremove:後面接軟件羣組名稱,可以移除軟件羣組中所有的軟件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章