yum管理工具

yum概述

Linux系統維護中令管理員很頭疼的就是軟件包之間的依賴性了,每每是你要安裝A軟件,可是編譯的時候告訴你X軟件安裝以前須要B軟件,而當你安裝Y軟件的時 候,又告訴你須要Z庫了,好不容易安裝好Z庫,發現版本還有問題等。因爲歷史緣由,RPM軟件包管理系統對軟件之間的依存關係沒有內部定義,形成安裝RPM軟件時常常出現使人沒法理解的軟件依賴問題。其實開源社區早就對這個問題嘗試進行解決了,不一樣的發行版推出了各自的工具,好比Yellow Dog的YUM,Debian的APT等。開發這些工具的目的都是爲了要解決安裝R PM時的依賴性問題,而不是額外再創建一套安裝模式。這些軟件也被開源軟件愛好者們逐漸移植到別的發行版上。目前,APT和YUM均可以運行在Red Hat系統上。目前yum是Red Hat/Fedora系統上默認安裝的更新系統。

yum特色

自動解決包的倚賴性問題能更方便的添加/刪除/更新RPM包
便於管理大量系統的更新問題
能夠同時配置多個資源庫(Repository)
簡潔的配置文件(/etc/yum.conf)
保持與RPM數據庫的一致性
有一個比較詳細的log,能夠查看什麼時候升級安裝了什麼軟件包等
使用方便
yum是CentOS/Fedora系統自帶的,所以它能使用CentOS官方的軟件源,完成各類官方發佈的各類升級。對於第三方軟件源的支持,yum也不差,大多數支持apt的repository,也能支持yum 。

配置yum客戶的更新源

在.repo文件中,配置語法是分段的,每一段配置一個軟件倉庫,配置語法以下:

[repositoryid]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
mirrorlist=url://path/to/mirrorlist/repository/
enabled=0/1
gpgcheck=0/1
gpgkey=A URL pointing to the ASCII-armoured GPG key file for the repository

其中:
repositoryid : 用於指定一個倉庫
name: 用於指定易讀的倉庫名稱
baseurl : 用於指定本倉庫的URL,能夠是以下的幾種類型:
http — 用於指定遠程 HTTP 協議的源
ftp — 用於指定遠程 FTP 協議的源
file — 用於本地鏡像或 NFS 掛裝文件系統
mirrorlist : 用於指定倉庫的鏡像站點
enabled : 用於指定是否使用本倉庫,默認值爲1,便可用
gpgcheck : 用於指定是否檢查軟件包的 GPG 簽名
gpgkey : 用於指定GPG簽名文件的URL

在name baseurl中常常使用以下的變量:

$releasever — 當前系統的版本號
$basearch — 當前系統的平臺架構
文件中以「#」開頭的行是註釋行
若指定mirrorlist,系統將從CentOS的鏡像站點中選擇離您最近的倉庫
並不是全部的國內鏡像都在CentOS的鏡像站點列表中,能夠直接使用baseurl直接指定離您最近的倉庫
baseurl 能夠指定多個 UR L,系統會依次檢查您列出的倉庫,以便在某個服務器宕機時可使用另外的服務器
爲了加快更新,在確保更新服務器及線路良好的狀況下,在baseurl中只指定一個URL既可

設置網絡更新源

下面是一個CentOS-Base.repo文件的實例,在此文件中沒有設置mirrorlist ,使用baseurl只指定了一個URL。
[base]
name=CentOS-$releasever - Base
baseurl=http://centos.candishosting.com.cn/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[updates]
name=CentOS-$releasever - Updates
baseurl=http://centos.candishosting.com.cn/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-$releasever - Addons
baseurl=http://centos.candishosting.com.cn/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-$releasever - Extras
baseurl=http://centos.candishosting.com.cn/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://centos.candishosting.com.cn/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

設置本地更新源

爲了使用安裝光盤做爲更新源,能夠修改CentOS-Media.repo 文件,下面是一個配置實例。
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta
爲了使用 c5-media倉庫,需將CentO S-Base .repo文件中的base倉庫使用enabled=0設置成不可用。
若本地磁盤空間有足夠空間,您也能夠將安裝光盤複製到本地磁盤的一個目錄中

yum命令簡介

下面是一些較常見的用法。

命令功能

yum check-update 檢查可更新的全部軟件包

yum update 下載更新系統已安裝的全部軟件包
yum upgrade 大規模的版本升級,與yum update不一樣的是,連舊的淘汰的包也升級

yum install <packages> 安裝新軟件包

yum update <packages> 更新指定的軟件包

yum remove <packages> 卸載指定的軟件包

yum groupinstall <groupnames> 安裝指定軟件組中的軟件包

yum groupupdat <groupnames> 更新指定軟件組中的軟件包

yum groupremove <groupnames> 卸載指定軟件組中的軟件包

yum grouplist 查看系統中已經安裝的和可用的軟件組

yum list 列出資源庫中全部能夠安裝或更新以及已經安裝的rpm包

yum list <regex> 列出資源庫中與正則表達式匹配的能夠安裝或更新及已經安裝的rpm包

yum list available 列出資源庫中全部能夠安裝的rpm包

yum list available <regex> 列出資源庫中與正則表達式匹配的全部能夠安裝的rpm包

yum list updates 列出資源庫中全部能夠更新的rpm包

yum list updates <regex> 列出資源庫中與正則表達式匹配的全部能夠更新的rpm包

yum list installed 列出資源庫中全部已經安裝的rpm包

yum list installed <regex> 列出資源庫中與正則表達式匹配的全部已經安裝的rpm包

yum list extras 列出已經安裝的可是不包含在資源庫中的rpm包

yum list extras <regex> 列出與正則表達式匹配的已經安裝的可是不包含在資源庫中的rpm包

yum list recent 列出最近被添加到資源庫中的軟件包

yum search <regex> 檢測全部可用的軟件的名稱、描述、概述和已列出的維護者,查找與正則表達式匹配的值

yum provides <regex> 檢測軟件包中包含的文件以及軟件提供的功能,查找與正則表達式匹配的值

yum clean headers 清除緩存中的rpm頭文件

yum clean packages 清除緩存中rpm包文件

yum clean all 清除緩存中的rpm頭文件和包文件

yum deplist <packages> 顯示軟件包的依賴信息

當第一次使用yum或yum資源庫有更新時,yum會自動下載全部所需的headers放置於 /var/cache /yum 目錄下,所需時間可能較長。

還可使用 yum info 命令列出包信息,yum info 可用的參數與 yum list 的相同。

yum 命令還可使用 -y 參數用於用 yes 回答命令運行時所提出的問題。

正則表達式

相關文章
相關標籤/搜索