一、yum介紹
Yum (Yellow dog Updater, Modified) 是一個在 Fedora 中的字符前端軟件包管理器。基于 RPM 包管理,能夠從指定的服務(wù)器自動下載 RPM 包并且安裝,可以處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
rpm命令只能安裝下載到本的.rpm格式的安裝包,但是rpm并不能處理軟件包之間的依賴關(guān)系,尤其是軟件由多個.rpm包組成時,這時可以使用yum。
yum的主要是更方便的添加、刪除、更新RPM包,自動解決軟件包之間的依賴關(guān)系,方便系統(tǒng)更新及軟件管理。yum通過軟件倉庫(repository)進行軟件的下載、安裝等,軟件倉庫可以是一個HTTP或FTP站點,也可以是一個本軟件池,資源倉庫也可以是多個,在/etc/yum.conf文件中進行相關(guān)配置即可。在yum的資源庫中,會包括rpm的頭信息(header),頭信息中包括了軟件的功能描述、依賴關(guān)系等。通過分析這些信息,yum計算出依賴關(guān)系并進行相關(guān)的升級、安裝、刪除等操作。
二、yum命令
命令格式:
yum [options] COMMAND
命令(COMMAND)列表:
check 檢測 rpmdb 是否有問題check-update 檢查可更新的包clean 清除緩存的數(shù)據(jù)deplist 顯示包的依賴關(guān)系distribution-synchronization 將已安裝的包同步到最新的可用版本downgrade 降級一個包erase 刪除包groupinfo 顯示包組的詳細信息groupinstall 安裝指定的包組grouplist 顯示可用包組信息groupremove 從系統(tǒng)刪除已安裝的包組help 刪除幫助信息history 顯示或使用交互歷史info 顯示包或包組的詳細信息install 安裝包list 顯示可安裝或可更新的包makecache 生成元數(shù)據(jù)緩存provides 搜索特定包文件名reinstall 重新安裝包repolist 顯示已配置的資源庫resolvedep 指事實上依賴search 搜索包shell 進入yum的shell提示符update 更新系統(tǒng)中的包upgrade 升級系統(tǒng)中的包version 顯示機器可用源的版本
常用選項(options)列表:
-h, --help 顯示幫助信息-t, --tolerant 容錯-C, --cacheonly 完全從系統(tǒng)緩存中運行,不更新緩存-c [config file], --config=[config file] 本地配置文件-R [minutes], --randomwait=[minutes] 命令最大等待時間-d [debug level], --debuglevel=[debug level] 設(shè)置調(diào)試級別-e [error level], --errorlevel=[error level] 設(shè)置錯誤等級-q, --quiet 退出運行-v, --verbose 詳細模式-y, --assumeyes 對所有交互提問都回答“yes”
注:以上可用命令和選項由于yum版本的不同可能會有所有不同
三、yum使用示例
3.1 安裝
安裝軟件時,較常用的安裝方式有單獨安裝、包組安裝兩種方式:
# 安裝軟件包 fooyum install foo# 安裝 Web server 軟件包組yum groupinsall "Web server"
注:groupinsall是一種快捷安裝方式,他會將包組中所需的軟件包一次性全部安裝。如,上例中的"Web server"包組可能會包含:httpd、 crypto-utils等軟件包
3.2 更新、升級
對于已安裝的程序,可以進行升級操作,有以下幾種升級方式:
# 檢查可用更新yum check-update # 全部更機關(guān)報yum update# 更新 foo 軟件包yum update foo# 或yum upgrade foo# 升級 Web server 軟件包組yum groupupdate "Web server"
更新安裝包時,可以使用update或upgrade,二者區(qū)別如下:
3.3 刪除
刪除時,可以刪除單個軟件包或軟件包組:
# 刪除軟件 fooyum remove foo# 刪除 Web server 軟件包組yum groupremove "Web server"
3.4 查找
通過search命令可以查找軟件包,而info命令可以用來顯示軟件包信息:
# 查找名稱包含 foo 的軟件包yum search foo# 顯示名為 foo 的軟件包信息yum info foo# 顯示軟件包 foo 的依賴關(guān)系yum deplist foo# 顯示軟件包組 Web server 的信息yum groupinfo "Web server"# 顯示已安裝的軟件包 yum list installed
四、yum的配置
YUM的配置文件分為main和repository兩部分:
可以通過以下命令查看yum的配置:
cat /etc/yum.conf
主要配置項如下:
[main]cachedir=/var/cache/yum/$basearch/$releasever # yum 的緩存目錄,用于存儲下載的RPM包和數(shù)據(jù)庫keepcache=0 # 安裝完成后是否保留軟件包,0為不保留(默認為0),1為保留debuglevel=2 # Debug 信息輸出等級,范圍為0-10,缺省為2logfile=/var/log/yum.log # yum 日志文件位置,用戶通過該文件查詢做過的更新exactarch=1 # 是否只安裝和系統(tǒng)架構(gòu)匹配的軟件包。可選項為:1?0,默認 1。設(shè)置為1時不會將i686的軟件包安裝在適合i386的系統(tǒng)中。obsoletes=1 # update 設(shè)置,是否允許更新陳舊的RPM包,相當于upgradegpgcheck=1 # 是否進行 GPG(GNU Private Guard) 校驗,以確定rpm 包的來源是有效和安全。當在這個選項設(shè)置在[main]部分,則對每個repository 都有效plugins=1 # 是否啟用插件,默認1為允許,0表示不允許exclude=*.i?86 kernel kernel-xen kernel-debug # 排除某些軟件在升級名單之外,可以用通配符,各個項目用空格隔開installonly_limit=5 # 可同時安裝多少程序包bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum # Bug 追蹤路徑distroverpkg=centos-release # 當前發(fā)行版版本號# PUT YOUR REPOS HERE OR IN separate files named file.repo# in /etc/yum.repos.d
五、配置yum源
yum源配置文件通常位于/etc/yum.repo.d
目錄下,筆錄所使用的CentOS 6.3發(fā)生版中包含以下幾個配置文件:
$ # ll總用量 16-rw-r--r--. 1 root root 1926 6月 26 2012 CentOS-Base.repo-rw-r--r--. 1 root root 637 6月 26 2012 CentOS-Debuginfo.repo-rw-r--r--. 1 root root 626 6月 26 2012 CentOS-Media.repo-rw-r--r--. 1 root root 2593 6月 26 2012 CentOS-Vault.repo
其中:
5.1 啟用yum本地源
編輯CentOS-Media.repo文件:
vi CentOS-Media.repo
# CentOS-Media.repo## This repo is used to mount the default locations for a CDROM / DVD on# CentOS-6. You can use this repo and yum to install items directly off the# DVD ISO that we release.## To use this repo, put in your DVD and use it with the other repos too:# yum --enablerepo=c6-media [command]# # or for ONLY the media repo, do this:## yum --disablerepo=/* --enablerepo=c6-media [command] [c6-media]name=CentOS-$releasever - Media# 本地源路徑baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/gpgcheck=1# enabled=0# 啟用本地源enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
配置后,修改CentOS-Base.repo中的enabled配置項為enabled=0
,或?qū)entOS-Base.repo文件刪除或重命名,就會從本地源安裝軟件
5.2 添加yum網(wǎng)絡(luò)源
網(wǎng)絡(luò)源通地CentOS-Base.repo文件配置,配置一個源包括以下幾個部分:
mirrorlist是一個保存了鏡像列表列表的網(wǎng)站
baseurl是一個包庫
如,以下是CentOS 6.3中的一個配置鏡像:
[contrib]name=CentOS-$releasever - Contribmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答
圖片精選