Yum 使用教程

Yum 使用教程

Yum 是 Fedora 下的軟件包管理工具。經過它,你可以查詢軟件包信息、從軟件倉庫獲取軟件包、經過自動解析軟件包依賴性對軟件包進行安裝/卸載,以及將整個系統的軟件包進行升級。html

Yum 是 Fedora 下的軟件包管理工具。經過它,你可以查詢軟件包信息、從軟件倉庫獲取軟件包、經過自動解析軟件包依賴性對軟件包進行安裝/卸載,以及將整個系統的軟件包進行升級。node

當你升級、安裝或移除軟件包時,Yum 會自動解析軟件包的依賴性。所以,它可以自動決定和獲取全部必需和可用的依賴性軟件包。python

你還可以爲 Yum 配置新的軟件包倉庫 (repositories) 和軟件源 (package sources),從而增長 Yum 可以使用的軟件包的數量和種類。除此以外,你還經過爲 Yum 添加插件來加強和擴展它的功能。linux

Yum 可以實現許多 RPM 能實現 的功能,而且,兩都有許多類似的命令行選項。不過使用 Yum 是方便的選擇,它可以簡單迅速地在單臺或一組計算機中實現軟件包的管理工做。git

使用有 GPG 簽名 的軟件包
GPG 簽名是用於驗證軟件包完整性和可靠性的工具,Yum 經過驗證軟件包的 GPG 簽名以加強軟件包管理的安全性。當 Yum 的「簽名驗證」機制啓用時,Yum 會拒絕安裝任何沒有正確 GPG 簽名的軟件包。這樣可以保護你只安裝由受信任的軟件源 (如 Fedora 項目) 下載並安裝 RPM 軟件包。
有關如何爲 Yum 啓用「簽名驗證」的詳細內容,能夠參考「配置Yum 和軟件倉庫」。有關如何對軟件包的 GPG 簽名進行驗證,可參考「驗證軟件包的簽名」。

Yum 是一項值得花時間學習的工具,它是實現系統管理任務的最快捷方式,同時它還提供了許多 PackageKit 不具有的功能。 ( PackageKit 是 Fedora 中默認的圖形化軟件管理工具,可參考 《PackageKit 使用教程》 瞭解有關 PackageKit 的詳細信息。sql

 

Yum 使用教程目錄

使用 Yum 檢查可升級的軟件包

經過使用 yum check-update 命令,可以查看到系統中的哪些軟件包存在能夠升級的新版本。shell

經過使用 yum check-update 命令,可以查看到系統中的哪些軟件包存在能夠升級的新版本。數據庫

你必須具有超級管理員權限,纔可使用 yum 安裝、升級和移除軟件包。本章節中的全部示例均假設你已經經過 su 或 sudo 命令取得了超級管理員權限。有關如何使用 sudo 命令可參考《 使用 sudo 命令,以根用戶身份執行命令
~]# yum check-update
Loaded plugins: presto, refresh-packagekit, security
PackageKit.x86_64 0.5.3-0.1.20090915git.fc12 fedora
PackageKit-glib.x86_64 0.5.3-0.1.20090915git.fc12 fedora
PackageKit-yum.x86_64 0.5.3-0.1.20090915git.fc12 fedora
PackageKit-yum-plugin.x86_64 0.5.3-0.1.20090915git.fc12 fedora
glibc.x86_64 2.10.90-22 fedora
glibc-common.x86_64 2.10.90-22 fedora
kernel.x86_64 2.6.31-14.fc12 fedora
kernel-firmware.noarch 2.6.31-14.fc12 fedora
rpm.x86_64 4.7.1-5.fc12 fedora
rpm-libs.x86_64 4.7.1-5.fc12 fedora
rpm-python.x86_64 4.7.1-5.fc12 fedora
yum.noarch 3.2.24-4.fc12 fedora

以上輸出結果列出了能夠升級的軟件包的信息。以列表中的第一個軟件包 PackageKit 爲例,輸出結果中包含了如下信息:緩存

  • PackageKit ── 軟件包的名稱
  • x86_64 ── 軟件包針對的 CPU 平臺
  • 0.5.3-0.1.20090915git.fc12 ── 將被升級到的軟件包的版本號
  • fedora ── 取得該軟件包的軟件倉庫

上例中,除了 PackageKit 軟件包,可以升級的軟件包還包括 Kernel (內核) 、Yum 和 RPM,以及它們所依賴的軟件包。學習如何升級軟件包,請看下一節《使用 Yum 升級軟件包安全

使用 Yum 升級軟件包

使用 Yum 時,你能夠升級一個軟件包,或者多個軟件包,甚至能夠將整個系統中全部的軟件包一次性所有升級。若是被升級的軟件包所依賴的其它軟件包也可以升級,這些依賴性軟件包也將被升級。

使用 Yum 時,你能夠升級一個軟件包,或者多個軟件包,甚至能夠將整個系統中全部的軟件包一次性所有升級。若是被升級的軟件包所依賴的其它軟件包也可以升級,這些依賴性軟件包也將被升級。

要升級單個軟件包,只需輸入 yum update <package_name> 命令便可,如下以 glibc 軟件包爲例:

~]# yum update glibc
Loaded plugins: presto, refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
--> Processing Dependency: glibc = 2.10.90-21 for package: glibc-common-2.10.90-21.x86_64
--> Package glibc.x86_64 0:2.10.90-22 set to be updated
--> Running transaction check
--> Package glibc-common.x86_64 0:2.10.90-22 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================
 Package             Arch        Version          Repository      Size
======================================================================
Updating:
 glibc               x86_64      2.10.90-22       fedora        2.7 M
Updating for dependencies:
 glibc-common       x86_64       2.10.90-22       fedora       6.0 M
Transaction Summary
======================================================================
Install       0 Package(s)
Upgrade       2 Package(s)
Total download size: 8.7 M
Is this ok [y/N]:

從以上輸出信息中,你須要瞭解這些信息:

1. Loaded plugins: presto, refresh-packagekit, security  ── 這是 yum 加載已經安裝的插件的名稱,yum 總會在運行時顯示這些 yum 插件信息。在這個例子中,yum 使用的插件有 presto, refresh-packagekit 和 security。

有關 yum 插件的信息請參考 《Yum 插件》,有關這些插件的描述請參考《經常使用 Yum 插件功能介紹》

2. glibc.x86_64 ── 你可以使用 yum 安全下載並安裝的新軟件

3. yum 顯示出升級信息,並提示你是否 ([y/N]) 但願執行升級操做。

默認狀況下,yum 使用交互式操做,若是你對於 yum 執行過程已經十分了解,可使用 -y 選項爲 yum 所提出的交互式操做給予 yes 回覆 (即取消交互式操做)。但咱們建議你使用默認的非交互模式,讀取 yum 的輸出信息,對你瞭解 yum 的行爲以及之後排錯都有至關大的幫助。

 

升級全部軟件包 (以及相關依賴性軟件包)

要升級系統中全部的軟件包以及相關的依賴性軟件包,只需簡單地輸入 yum update 便可

~]# yum update
...

更新與安全相關的軟件包

找出哪些軟件包存在安全性的更新,並對簡單迅速地完成這些更新對於系統的安全性是相當重要的。 Yum 爲實現這個目標提供了 security 插件,該插件爲 yum 擴展了許多以安全爲中心的實用命令、子命令和選項。有關 security 插件的更多信息可參考《Yum 經常使用插件功能介紹》

保護已更改的配置文件

在使用 Fedora (或其它任何) 操做系統時,你總會不可避免地改動程序的配置文件。yum 在升級軟件包時,使用 RPM 實現對系統的更改,而 RPM 對於應用程序的配置文件提供了至關有效的保持機制。有關 RPM 在升級軟件包的過程,如何作好配置文件管理的詳細狀況,可參考《使用 RPM 升級軟件包》

下一節 - 《使用 Yum 搜索、羅列和顯示軟件包信息

使用 Yum 搜索、羅列和顯示軟件包信息

使用 yum search <term> [more_terms] 命令,可以在已啓用的軟件包倉庫中,對全部軟件包的名稱、描述和概述中進行搜索,最後,yum 會以顯示符合合條件的搜索結果列表。

使用 yum search <term> [more_terms] 命令,可以在已啓用的軟件包倉庫中,對全部軟件包的名稱、描述和概述中進行搜索,最後,yum 會以顯示符合合條件的搜索結果列表。

[lugir@hope ~]$ yum search totem
已加載插件:presto, refresh-packagekit, security
================================ Matched: totem ================================
gnome-python2-totem.i686 : 用於和 totem 交流的 python 綁定
oggconvert.noarch : Convert media files to Free formats
totem.i686 : Movie player for GNOME
totem-devel.i686 : Plugin writer's documentation for %{package}
totem-jamendo.i686 : Jamendo plugin for Totem
totem-lirc.i686 : LIRC (Infrared remote) plugin for Totem
totem-mozplugin.i686 : Mozilla plugin for Totem
totem-mythtv.i686 : MythTV plugin for Totem
totem-nautilus.i686 : Video and Audio Properties tab for Nautilus
totem-pl-parser.i686 : Totem Playlist Parser library
totem-pl-parser-devel.i686 : Development files for totem-pl-parser
totem-publish.i686 : Share your playlist with other Totems on the local network
totem-upnp.i686 : UPNP/DLNA plugin for Totem
totem-youtube.i686 : YouTube plugin for Totem

若是你不記得軟件包的確切名稱,但瞭解軟件包的某些相關名詞時,yum search 命令可以有效地幫助你找到想要的軟件包。

軟件包列表
yum list 以及相關的一些命令則可以爲你提供有關軟件包、軟件包集和軟件倉庫的信息。

全部的 yum list 命令都可以使用 glob 表達式做爲參數,對輸出結果進行過濾。在 glob 表達式中,你可使用 * 表明任何數量個字符,使用 ? 表明任何一個字符。經過後面的示例,你能夠對 glob 表達式有些簡單的認識。
  • yum list <glob_expr> [more_glob_exprs] ── 列出全部符合 glob 表達式的軟件包
  • yum list all ── 列出全部已安裝的和可用的軟件包
  • yum list installed ── 列出全部已經安裝在系統中的軟件包。輸出結果的最右邊一列是取得該軟件包的軟件倉庫。標識爲 installed 的軟件包則說明它是作爲系統基本組件而預安裝的。
  • yum list available ── 列出全部啓用的軟件倉庫中可用的軟件包
  • yum grouplist ── 列出全部軟件包組
  • yum repolist ── 列出全部啓用的軟件倉庫的 ID,名稱 及其包含的軟件包的數量

查看軟件包信息

使用 yum info <package_name> [more_names] 命令可查看一個或多個軟件包的信息 (此處一樣能夠應用 glob 表達式)。

[lugir@hope ~]$ yum info totem
已加載插件:presto, refresh-packagekit, security
已安裝的軟件包
名稱       : totem
架構          : i686
版本          : 2.28.5
次要版本          : 1.fc12
大小          : 7.9 M
倉庫          : installed
From repo  : updates
摘要          : Movie player for GNOME
URL        : http://projects.gnome.org/totem/
受權方式        : GPLv2+ with exceptions
描述          : Totem is simple movie player for the GNOME desktop. It features
              : a simple playlist, a full-screen mode, seek and volume controls,
              : as well as a pretty complete keyboard navigation.
              :
              : Totem is extensible through a plugin system.

yum info <package_name>rpm -q --info <package_name> 命令十分類似, 不過 yum 還可以提供軟件包的軟件倉庫來源信息 (即輸出結果中的 From repo 行)。

下一節 - 《使用 Yum 安裝軟件包和軟件包集

使用 Yum 安裝軟件包和軟件包集

使用 Yum 安裝軟件包十分簡單,只須要在 install 選項後面加上要安裝的軟件包的名稱便可,就像 yum install <package_name>,而後 Yum 就會幫你完成指定軟件包以及相關的依賴性軟件包的安裝。

使用 Yum 安裝軟件包十分簡單,只須要在 install 選項後面加上要安裝的軟件包的名稱便可,就像 yum install <package_name>,而後 Yum 就會幫你完成指定軟件包以及相關的依賴性軟件包的安裝。

~]# yum install totem

經過增長軟件包的名稱,可以同時安裝多個軟件包 yum install <package_name> [more_names]

若是在 AMD64 或 Intel64 這類多運行庫 (multilib) 的系統上安裝軟件包,能夠在軟件包名稱後面加上平臺類型 (.arch) ,選擇特定平臺的軟件包。經常使用的軟件包平臺包括 i386, x86_68, i586, i686, 以及不區分平臺的 .noarch,如下以 i686 平臺的 totem 軟件包爲例:

~]# yum install totem.i686

若是要安裝多個名稱類似的軟件包,可使用 glob 表達式來簡化安裝命令,如:

~]# yum install audacious-plugin-*

除了經過提供軟件包的名稱進行軟件包的安裝,還可以經過提供文件名給 yum install 來實現包的安裝。好比你知道某個軟件包所包含的文件路徑,但不知道它的軟件包名稱,可使用 yum install <file_path> 進行安裝

~]# yum install /etc/samba/smb.conf

上面這種安裝方式的原理很簡單,由 yum 去搜索全部的軟件包列表,尋找包含 /etc/samba/smb.conf 文件的軟件包,而後返回查詢結果。

若是你只知道文件的名稱,如 named,但不知它的具體位置。這時,可使用 yum provides 命令,並結合 glob 表達式進行查詢,例如使用如下命令查詢全部包含 named 文件的軟件包

~]# yum provides "*/named"

在輸出結果中找到合適的軟件包後,就能夠經過軟件包名稱,使用 yum install 進行安裝了

yum provides 與 yum whatprovides 的效果相同,但咱們固然願意使用更簡單的命令 :D

 

安裝軟件包(組)集

軟件包集實際上就是一些功能相同或相近的軟件包集合。軟件包集有名稱和組標識,使用 yum grouplist -v 命令可以列出全部可用的軟件包集的名稱和組標識 (組標識位於右則括號中,就像本例中的 kde-desktop 和 kde-software-development)

~]# yum -v grouplist kde-*
...
有效的組:
   KDE 軟件開發 (kde-software-development)
   KDE (K 桌面環境) (kde-desktop)

使用 yum groupinstall 命令,就可以經過名稱或者組標識對安裝軟件包集如

~]# yum groupinstall kde-desktop

下一節 - 《使用 Yum 移除軟件包和軟件包集

使用 Yum 移除軟件包和軟件包集

移除軟件包和安裝軟件包一樣簡單,只須要使用 yum remove <package_name> 命令就能夠移除指定的軟件包,以及全部依賴於這個軟件包的其它軟件包。

移除軟件包和安裝軟件包一樣簡單,只須要使用 yum remove <package_name> 命令就能夠移除指定的軟件包,以及全部依賴於這個軟件包的其它軟件包。經過在命令後面增長軟件包的名稱,可以一次性卸載多個軟件包,如

~]# yum remove foo foo1 foo2

如同 install 選項同樣,remove 也可以使用參數、軟件包名稱、 glob 表達式對軟件包進行移除,具體用法可參考《使用 Yum 安裝軟件包和軟件包集

移除軟件包集

移除軟件組的命令與安裝軟件組類似,如下三種方式都可以實現軟件組的卸載。

~]# yum groupremove "KDE (K Desktop Environment)"
~]# yum groupremove kde-desktop
~]# yum remove @kde-desktop

下一節 - 《配置 Yum 和 Yum 軟件包倉庫

配置 Yum 和 Yum 軟件包倉庫

/etc/yum.conf 文件中包含的 [mian] 片斷,使用戶可以設置 yum 選項。[main] 片斷中設置的值,對 yum 有全局影響,但能夠被單獨的 [repository] 片斷中的值覆蓋。

本部份內容包含

  • 經過編輯 /etc/yum.conf 文件中的 [main] 片斷,更改  yum 全局全局全局選項。
  • 經過編輯 /etc/yum.conf 文件和 /etc/yum.repos.d/ 目錄下的 .repo 文件中的 [repository] 片斷,更改單獨軟件倉庫的配置
  • 經過 /etc/yum.conf 文件和 /etc/yum.repos.d/ 目錄中的文件使用變量,正確處理軟件包的版本和平臺值
  • 設置自定義軟件包

/etc/yum.conf 文件中包含的 [mian] 片斷,使用戶可以設置 yum 選項。[main] 片斷中設置的值,對 yum 有全局影響,但能夠被單獨的 [repository] 片斷中的值覆蓋。儘管能夠在 /etc/yum.conf 文件中添加 [repository] 片斷,但最好的方式仍是在 /etc/yum.repos.d/ 目錄中,建立新的或編輯已經存在的 .repo 文件。若是須要添加或編輯指定的軟件倉庫信息,情參考《設置 [repository] 選項》

Yum 配置文件 - [main] 選項的設置

/etc/yum.conf 配置文件中只包含一個 [main] 片斷,用戶能夠向其中添加許多附加選項。其中一些選擇的值影響 yum 的操做方式,一些影響 yum 對待軟件倉庫的方式。

/etc/yum.conf 配置文件中只包含一個 [main] 片斷,用戶能夠向其中添加許多附加選項。其中一些選擇的值影響 yum 的操做方式,一些影響 yum 對待軟件倉庫的方式。

瞭解有關 yum.conf 文件中的各個選項的值和說明信息,最好的方法是參考 yum.conf 的 man 文件,查看的命令爲 man yum.conf

如下是 /etc/yum.conf 配置文件的示例:

[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
[comments abridged]
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

 

有關 [main] 片斷中經常使用的選項及說明

cachedir=/var/cache/yum
選項指定 yum 存儲 (軟件包) 緩存和數據庫文件的默認位置。其默認值爲 /var/cache/yum

keepcache=[1 or 0]
設置 keepcache=1,yum 在成功安裝軟件包以後保留緩存的頭文件 (headers) 和軟件包。默認值爲 keepcache=0

reposdir=[包含 .repo 文件的目錄的絕對路徑]
該選項用戶指定 .repo 文件的絕對路徑。.repo 文件包含軟件倉庫的信息 (做用與 /etc/yum.conf 文件中的 [repository] 片斷相同)。
yum 從全部 .repo 文件以及 /etc/yum.conf 文件的 [repository] 片斷中收集軟件倉庫的信息,並依此建立一個主倉庫列表,用於請求傳輸軟件包。
有關 .repo 文件和 [repository] 片斷中能用到的選項的信息,請參考《配置 Yum 配置文件中的 [repository] 選項》

gpgcheck=[1 or 0];
該選項爲全部軟件倉庫中 (及本地) 的軟件包啓用或禁用 GPG 簽名驗證。默認值爲1,即啓用 GPG 簽名檢測。

用戶能夠在不一樣的軟件倉庫配置中設置這個選項,而且單獨的軟件倉庫配置中的值會覆蓋 /etc/yum.conf 中的值。有關 GPG 簽名檢測的更多信息請參考《使用 RPM 驗證軟件包簽名》


assumeyes=[1 or 0]
    該選項決定 yum 對於危險操做時是否給出提示。默認值爲0,即不提示。當 assumeyes=1 時,在不該用 -y 選項時,yum 會給出提示。

exclude="[package_name] [more_names]"
選項容許用戶在安裝/升級的過程當中,排除指定的軟件包。排除多個軟件包時應該使用引號("")包起來。這裏一樣容許使用 glob 表達式。

retries=[number_of_retries]
該選項設置返回錯誤消息前,yum 重試的次數。0 表示一直重試,默認值爲 6。

Yum 配置文件 - [repository] 選項的設置

能夠經過向 /etc/yum.conf 文件中添加 [repository] 片斷 (其中 repository 爲軟件倉庫標識,如 fedora),或者經過向 /etc/yum.repos.d/ 目錄中添加 .repo 文件,實現單獨軟件倉庫的定義。

能夠經過向 /etc/yum.conf 文件中添加 [repository] 片斷 (其中 repository 爲軟件倉庫標識,如 fedora),或者經過向 /etc/yum.repos.d/ 目錄中添加 .repo 文件,實現單獨軟件倉庫的定義。

/etc/yum.repos.d/ 中的全部 .repo 文件都會在 yum 下次運行時被讀取。

最簡單的 .repo 文件樣式以下

[repository_ID]
name=A Repository Name
baseurl=http://path/to/repo

 

每一個 [repository] 片斷必須包含如下幾部分

[軟件包倉庫標識]
軟件包倉庫標識是被方括號包圍的單個單詞(沒有空格,沒有下劃線),而且不能與其它軟件包倉庫重名。

name=[軟件包倉庫名]
設置軟件倉庫的描述性信息

baseusrl=http://path/to/repo, ftp://path/to/repo, file://path/to/local/repo
設置軟件倉庫的 URL 目錄,該目錄包含軟件倉庫的倉庫數據(repodata)目錄,這個 URL 一般是 HTTP 連接,如 baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/

Yum 可以自動轉換 URL 連接中的 $releasever, $arch 和 $basearch 變量,有關 yum 變量的說明,請參考《 使用 Yum 變量

若是軟件包倉庫使用 FTP 地址,使用 ftp://path/to/repo
若是軟件包倉庫使用本地地址,使用 file://path/to/local/repo
若是軟件包倉庫使用基本的 HTTP 驗證,能夠在 baseurl 前擴展用戶名和密碼進行身份驗證,如 baseurl=http://user:password@www.example.com/repo/

 

可選配置選項

enabled=[1 or 0]
當某個軟件倉庫被配置成 enabled=0 時,yum 在安裝或升級軟件包時不會將該倉庫作爲軟件包提供源。使用這個選項,能夠啓用或禁用軟件倉庫。
經過 yum 的 --enablerepo=[repo_name] --disablerepo=[repo_name] 選項,或者經過 PackageKit 的"添加/刪除軟件"工具,也可以方便地啓用和禁用指定的軟件倉庫。參考《刷新 PackageKit 軟件源 (Yum 軟件倉庫)》

使用 Yum 變量

在《Yum 配置文件 - [repository] 選項的設置》中,提到 yum 命令和 yum 配置文件中須要使用到的一些變量,如 $releasever, $arch 和 $basearch,本節主要說明這些變量的來源及做用。

在《Yum 配置文件 - [repository] 選項的設置》中,提到 yum 命令和 yum 配置文件中須要使用到的一些變量,如 $releasever, $arch 和 $basearch,本節主要說明這些變量的來源及做用。

yum 配置文件是指 /etc/yum.conf 和 /etc/yum.repos.d/ 目錄下的全部 .repo 配置文件

 

$releasever
此變量表示 Fedora 的發行版,yum 經過 /etc/yum.conf 文件,從 distrooverpky=<value> 行取得 $releasever 的值。若是 /etc/yum.conf 文件中沒有這一行,yum 則從 redhat-release (應該是 fedora-release) 軟件包中推算出正確的值.

 

$arch
此變量用於標識系統所用的 CPU 平臺,變量的值經過 uname 命令得出,$arch 的有效值爲 i586, i686 和 x86_64

$basearch
此變量用於參照系統的基本平臺,例如,i686 和 i586 機器的基本平臺是 i 386,AMD64 和 Intel64 機器的基本平臺是 x86_64

$YUM0-9
$YUM0 ~ $YUM9 這十個變量分別被 shell 環境中的同名變量的值所替代。若是 /etc/yum.conf 文件中設置了這些變量,而 shell 環境中沒有同名變量,它的值則不被代替。

建立 Yum 軟件包倉庫

按照如下步驟,便可以完成建立 Yum 軟件包倉庫的操做。這些命令會爲你建立 Yum 軟件包倉庫必須的元數據,以及用於加速 yum 操做的 sqlite 數據庫

按照如下步驟,便可以完成建立 Yum 軟件包倉庫的操做

1.安裝 createrepo 軟件包

~]# yum install createrepo

2.將全部軟件包複製到某個目錄下,如 /mnt/local_repo/
3.將第2步中使用的目錄做爲 createrepo --database 參數,執行命令

~]# createrepo --database /mnt/local_repo

以上命令會爲你建立 Yum 軟件包倉庫必須的元數據,以及用於加速 yum 操做的 sqlite 數據庫

啓用、配置及禁用 Yum 插件

經過安裝 Yum 插件,可以擴展及增強 Yum 的功能。當你使用 yum 命令的時候,yum 老是會向你顯示已啓用的插件信息。

經過安裝 Yum 插件,可以擴展及增強 Yum 的功能。當你使用 yum 命令的時候,yum 老是會向你顯示已啓用的插件信息。

[lugir@hope ~]$ yum info yum
已加載插件:presto, refresh-packagekit, security
...
注意:跟在 「已加載插件」(Loaded plugins) 後面的就是插件名稱,你能夠經過使用
--disableplugins=<plugin_name> 禁用指定的插件。

要啓用 yum 插件,確認 /etc/yum.conf 配置文件的 [main] 片斷中存在以 plugins=1 的選項

plugins=1

將 plugins 的值設置爲 0 便可禁用 yum 插件。

每一個已安裝的 yum 插件都有本身的配置文件,文件位於 /etc/yum/pluginconf.d/ 目錄下,你能夠在這些配置文件中設置與插件相關的選項,例如如下是 security 插件的配置文件 security.conf 文件中的內容

[main]
enabled=1

與 yum.conf 相同,插件配置文件老是包含一個 [main] 片斷,其中包含 enable=<value> 選項,這個選項的值決定插件是否被啓用。

若是 /etc/yum.conf 文件中配置了 enable=0,只有當插件在單獨的配置文件中設置了啓用,運行 yum 命令時,插件纔會被使用。

若是你只是想在某個 yum 命令執行時禁用全部插件,可以使用 --noplugins 選項。

若是你只是想在某個 yum 命令執行時禁用某個插件,可使用 --disableplugin=<plugin_name>

~]# yum update --disableplugin=presto

若是禁用多個插件,插件名稱之間用逗號分隔。使用插件名稱時也支持 glob 表達式

~]# yum update --disableplugin=presto,refresh-pack*
經常使用 Yum 插件介紹

通常而言,Yum 插件軟件包的名稱都遵尋 yum-plugin-<plugin_name> 這樣的格式,但也並不是全部的插件都是如此,例如 presto 插件的軟件包名稱是 yum-presto。

通常而言,Yum 插件軟件包的名稱都遵尋 yum-plugin-<plugin_name> 這樣的格式,但也並不是全部的插件都是如此,例如 presto 插件的軟件包名稱是 yum-presto。

在對經常使用的 Yum 插件進行介紹以前,仍是先向你說明如何安裝 Yum 插件。實際上,安裝 Yum 插件十分簡單,就和安裝其它軟件同樣,例如要安裝 yum-plugin-security 插件,只需執行如下命令便可。

~]# yum install yum-plugin-security
若是你對如何使用 Yum 安裝軟件包有疑問,能夠參考《 使用 Yum 安裝軟件包和軟件包集

 

經常使用 Yum 插件介紹

presto (yum-presto)

presto 插件讓 yum 在升級時可以下載差別 RPM 軟件包(delta RPM packages) 。差別軟件包僅包含了已安裝軟件包與升級軟件包二者之間不一樣的內容,經過下載差別軟件包,可以大大下降下載時間、加快下載速度。

不過使用差別軟件包須要對已經安裝的軟件包進行重建 (rebuild),即將不一樣中的內容應用到已經安裝的軟件包中,這須要必定的時間。

所以,使用 presto 插件是在下載時間和安裝時間中作出選擇,對於網絡較慢機器較快的狀況,presto 插件可以迅速下載差別軟件包並安裝。另外一方面,網速快而機器慢,則能夠禁用 presto 下載完整軟件包並安裝 (安裝完整軟件包比應用差別軟件包所需時間較少)。 presto 插件默認安裝並啓用。

 

protect-packages (yum-plugin-protect-packages)

protect-packages 插件用於避免 yum 軟件包或其它 yum 所依賴的軟件包被移除,它也能避免許多系統運行所必要的軟件包被移除。另外,你能夠編輯 /etc/sysconfig/protected-packages 配置文件 (若是不存在能夠本身建立) ,向其中添加的軟件包都將受保護不被移除,添加時每行一個。

也能夠在 /etc/sysconfig/protected-packages.d/ 目錄中建立 .list 文件,每行添加一個軟件包,全部 .list 文件中的軟件包也將一樣受到保護不被移除。

若是要臨時取消軟件包保護,執行 yum 命令時加上 --override-protection 選項

 

refresh-packagekit (PackageKit-yum-plugin)

當 yum 運行時,這個插件爲 PackageKit 更新元數據,該插件默認安裝並被啓用。

 

security (yum-plugin-security)

對於系統管理員而言,方便且常常發現安全更新信息十分重要。出於這個目的,yum 提供了 security 插件,它爲 yum 擴展了一系列以安全爲中心的實用命令、子命令和選項。

~]# yum check-update --security
Loaded plugins: presto, refresh-packagekit, security
Limiting package lists to security relevant ones
Needed 3 of 7 packages, for security
elinks.x86_64                   0.12-0.13.pre3.fc11       fedora
kernel.x86_64                   2.6.30.8-64.fc11          fedora
kernel-headers.x86_64           2.6.30.8-64.fc11          fedora
You can then update the system using only the security-related updates (and
 excluding all others, such as bug fix updates) with the command:
~]# yum update --security

經過運行 man yum-security 能夠查看 security 插件爲 yum 增長的新功能及它們的詳細用法。

相關文章
相關標籤/搜索