YUM軟件包管理工具與yum命令的詳細(xì)介紹
一、yum介紹
Yum (Yellow dog Updater, Modified) 是一個(gè)在 Fedora 中的字符前端軟件包管理器。基于 RPM 包管理,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
rpm命令只能安裝下載到本的.rpm格式的安裝包,但是rpm并不能處理軟件包之間的依賴關(guān)系,尤其是軟件由多個(gè).rpm包組成時(shí),這時(shí)可以使用yum。
yum的主要是更方便的添加、刪除、更新RPM包,自動(dòng)解決軟件包之間的依賴關(guān)系,方便系統(tǒng)更新及軟件管理。yum通過軟件倉庫(repository)進(jìn)行軟件的下載、安裝等,軟件倉庫可以是一個(gè)HTTP或FTP站點(diǎn),也可以是一個(gè)本軟件池,資源倉庫也可以是多個(gè),在/etc/yum.conf文件中進(jìn)行相關(guān)配置即可。在yum的資源庫中,會(huì)包括rpm的頭信息(header),頭信息中包括了軟件的功能描述、依賴關(guān)系等。通過分析這些信息,yum計(jì)算出依賴關(guān)系并進(jìn)行相關(guān)的升級、安裝、刪除等操作。
二、yum命令
命令格式:
yum [options] COMMAND
命令(COMMAND)列表:
check 檢測 rpmdb 是否有問題 check-update 檢查可更新的包 clean 清除緩存的數(shù)據(jù) deplist 顯示包的依賴關(guān)系 distribution-synchronization 將已安裝的包同步到最新的可用版本 downgrade 降級一個(gè)包 erase 刪除包 groupinfo 顯示包組的詳細(xì)信息 groupinstall 安裝指定的包組 grouplist 顯示可用包組信息 groupremove 從系統(tǒng)刪除已安裝的包組 help 刪除幫助信息 history 顯示或使用交互歷史 info 顯示包或包組的詳細(xì)信息 install 安裝包 list 顯示可安裝或可更新的包 makecache 生成元數(shù)據(jù)緩存 provides 搜索特定包文件名 reinstall 重新安裝包 repolist 顯示已配置的資源庫 resolvedep 指事實(shí)上依賴 search 搜索包 shell 進(jìn)入yum的shell提示符 update 更新系統(tǒng)中的包 upgrade 升級系統(tǒng)中的包 version 顯示機(jī)器可用源的版本
常用選項(xiàng)(options)列表:
-h, --help 顯示幫助信息 -t, --tolerant 容錯(cuò) -C, --cacheonly 完全從系統(tǒng)緩存中運(yùn)行,不更新緩存 -c [config file], --config=[config file] 本地配置文件 -R [minutes], --randomwait=[minutes] 命令最大等待時(shí)間 -d [debug level], --debuglevel=[debug level] 設(shè)置調(diào)試級別 -e [error level], --errorlevel=[error level] 設(shè)置錯(cuò)誤等級 -q, --quiet 退出運(yùn)行 -v, --verbose 詳細(xì)模式 -y, --assumeyes 對所有交互提問都回答“yes”
注:以上可用命令和選項(xiàng)由于yum版本的不同可能會(huì)有所有不同
三、yum使用示例
3.1 安裝
安裝軟件時(shí),較常用的安裝方式有單獨(dú)安裝、包組安裝兩種方式:
# 安裝軟件包 foo yum install foo # 安裝 Web server 軟件包組 yum groupinsall "Web server"
注:groupinsall是一種快捷安裝方式,他會(huì)將包組中所需的軟件包一次性全部安裝。如,上例中的"Web server"包組可能會(huì)包含:httpd、 crypto-utils等軟件包
3.2 更新、升級
對于已安裝的程序,可以進(jìn)行升級操作,有以下幾種升級方式:
# 檢查可用更新 yum check-update # 全部更機(jī)關(guān)報(bào) yum update # 更新 foo 軟件包 yum update foo # 或 yum upgrade foo # 升級 Web server 軟件包組 yum groupupdate "Web server"
更新安裝包時(shí),可以使用update或upgrade,二者區(qū)別如下:
- yum update是更新下載源里面的metadata,包括這個(gè)源有什么包、每個(gè)包什么版本之類的
- yum upgrade會(huì)根據(jù)update后的元信息對軟件包進(jìn)行升級
3.3 刪除
刪除時(shí),可以刪除單個(gè)軟件包或軟件包組:
# 刪除軟件 foo yum 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兩部分:
- main-這個(gè)文件定義了全局配置選項(xiàng),該文件只有一個(gè)。通常位于/etc/yum.conf
- repository-定義了源-服務(wù)器的具體配置,可能是一或多個(gè)。通常位于/etc/yum.repo.d目錄
可以通過以下命令查看yum的配置:
cat /etc/yum.conf
主要配置項(xiàng)如下:
[main] cachedir=/var/cache/yum/$basearch/$releasever # yum 的緩存目錄,用于存儲(chǔ)下載的RPM包和數(shù)據(jù)庫 keepcache=0 # 安裝完成后是否保留軟件包,0為不保留(默認(rèn)為0),1為保留 debuglevel=2 # Debug 信息輸出等級,范圍為0-10,缺省為2 logfile=/var/log/yum.log # yum 日志文件位置,用戶通過該文件查詢做過的更新 exactarch=1 # 是否只安裝和系統(tǒng)架構(gòu)匹配的軟件包??蛇x項(xiàng)為:1、0,默認(rèn) 1。設(shè)置為1時(shí)不會(huì)將i686的軟件包安裝在適合i386的系統(tǒng)中。 obsoletes=1 # update 設(shè)置,是否允許更新陳舊的RPM包,相當(dāng)于upgrade gpgcheck=1 # 是否進(jìn)行 GPG(GNU Private Guard) 校驗(yàn),以確定rpm 包的來源是有效和安全。當(dāng)在這個(gè)選項(xiàng)設(shè)置在[main]部分,則對每個(gè)repository 都有效 plugins=1 # 是否啟用插件,默認(rèn)1為允許,0表示不允許 exclude=*.i?86 kernel kernel-xen kernel-debug # 排除某些軟件在升級名單之外,可以用通配符,各個(gè)項(xiàng)目用空格隔開 installonly_limit=5 # 可同時(shí)安裝多少程序包 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 # 當(dāng)前發(fā)行版版本號(hào) # 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ā)生版中包含以下幾個(gè)配置文件:
$ # 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
其中:
- CentOS-Base.repo - 用于配置yum網(wǎng)絡(luò)源
- CentOS-Media.repo - 用于配置yum本地源
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=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
配置后,修改CentOS-Base.repo中的enabled配置項(xiàng)為enabled=0
,或?qū)entOS-Base.repo文件刪除或重命名,就會(huì)從本地源安裝軟件
5.2 添加yum網(wǎng)絡(luò)源
網(wǎng)絡(luò)源通地CentOS-Base.repo文件配置,配置一個(gè)源包括以下幾個(gè)部分:
- [serverid] - 源標(biāo)識(shí),必須唯一
- name - 源名稱,支付$releasever等變量名
- mirrorlist或baseurl - 其中,
mirrorlist是一個(gè)保存了鏡像列表列表的網(wǎng)站
baseurl是一個(gè)包庫
如,以下是CentOS 6.3中的一個(gè)配置鏡像:
[contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
詳解如何在 CentOS 7 中安裝或升級最新的內(nèi)核
這篇文章主要介紹了詳解如何在 CentOS 7 中安裝或升級最新的內(nèi)核,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03SSM項(xiàng)目頻繁打成war包部署,使用tomcat和maven實(shí)現(xiàn)熱部署配置
這篇文章主要介紹了SSM項(xiàng)目頻繁打成war包部署操作頻繁?使用tomcat和maven實(shí)現(xiàn)熱部署配置,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Centos7.3安裝部署最新版Zabbix3.4的方法(圖文)
這篇文章主要介紹了Centos7.3安裝部署最新版Zabbix3.4的方法(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03centos系統(tǒng)為php安裝memcached擴(kuò)展步驟
這篇文章主要介紹了centos系統(tǒng)為php安裝memcached擴(kuò)展的步驟,大家參考使用吧2014-01-01CentOS服務(wù)器平臺(tái)搭建mysql主從復(fù)制與讀寫分離的方法
這篇文章主要介紹了CentOS服務(wù)器平臺(tái)搭建mysql主從復(fù)制與讀寫分離的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了CentOS平臺(tái)搭建mysql主從復(fù)制與讀寫分離的步驟、設(shè)置方法、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-04-04在Ubuntu 16.10安裝mysql workbench報(bào)未安裝軟件包 libpng12-0錯(cuò)誤的解決方法
這篇文章主要介紹了在Ubuntu 16.10安裝mysql workbench報(bào)未安裝軟件包 libpng12-0錯(cuò)誤的解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11Apache和Tomcat有什么區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Apache 和 Tomcat 都是web網(wǎng)絡(luò)服務(wù)器,兩者既有聯(lián)系又有區(qū)別。下面通過本文給大家介紹Apache和Tomcat的區(qū)別,感興趣的朋友一起看看吧2017-08-08