linux中yum命令详解
yum是干什么的
使用redhat,fedora的linuxer肯定都為rpm著名的dependency hell而頭疼(這也是所有基于rpm發(fā)行版都有的問題)。foo is needed by bar,bar is needed by foo。要裝卸個軟件,還得辛辛苦苦地梳理清楚所有依賴性問題,rpm的幾個搜索站點成了時常光顧的場所,如果不幸碰到循環(huán)依賴,那就只有干瞪眼的分了。 有時加個--nodeps參數(shù),倒是眼不見,心不煩,但這樣裝上的軟件,你能保證正常使用嗎,這樣卸載軟件,你能保證不影響其它軟件工作嗎,恐怕誰也不能 給出肯定的答案。每到這時,帽子們只有看著debian的 apt暗自羨慕了。好在,這些都已經(jīng)成為過去時了?;趓pm的發(fā)行版現(xiàn)在也有了像apt那樣自 動解決依賴關(guān)系的包管理工具了。其中一個著名的就是apt4rpm,這基本上是debian系統(tǒng)apt的在rpm發(fā)行版的移植。但是使用Redhat和 Fedora的linuxer你們知道嗎,還有一個與apt功能類似的rpm包管理系統(tǒng),那就是yum。Fedora系統(tǒng)已經(jīng)自帶,Redhat也有相應(yīng) 的rpm下載。與apt相比,yum的功能一點也不弱,甚至還有許多勝過apt 之處。比如說,yum是Fedora系統(tǒng)自帶的,因此它能使用fedora官方的軟件源,完成各種官方發(fā)布>的各種升級。對于第三方軟件源的支 持,yum也 不差,大多數(shù)支持apt的repository注,也能支持yum,比如說freshrpms,fedora.us,livna等等。此外yum有一個比 較 詳細(xì)的log,可以查看何時升級安裝了什么軟件包等。yum的代碼較apt更為精簡等。
一. yum是什么
yum = Yellow dog Updater, Modified主要功能是更方便的添加/刪除/更新RPM包.它能自動解決包的倚賴性問題.
它能便于管理大量系統(tǒng)的更新問題
注:為什么要使用yum而不用apt,最簡單的原因,Fedora自帶
二. yum特點
*可以同時配置多個資源庫(Repository)
*簡潔的配置文件(/etc/yum.conf)
*自動解決增加或刪除rpm包時遇到的倚賴性問題
*使用方便
*保持與RPM數(shù)據(jù)庫的一致性
三. yum安裝
Fedora自帶
#rpm -ivh yum-2.0.4-2.noarch.rpm
四. yum配置
注:修改和增加配置文件中的資源庫,加快下載速度和擁有更多可更新的rpm包將/etc/yum.conf的內(nèi)容全部替換為
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1
[fedora-us-1]
name=Fedora Core 1 -- Fedora US mirror
baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os
[fedora-us-1-updates]
name=Fedora Core 1 updates -- Fedora US mirror
baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates
[fedora-us-1-stable]
name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirror
baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
五. yum應(yīng)用
注:當(dāng)?shù)谝淮问褂脃um或yum資源庫有更新時,yum會自動下載所有所需的headers放置于/var/cache/yum目錄下,所需時間可能較長.
檢查有哪些可更新的rpm包
#yum check-update
安裝rpm包,使xmms可以播放mp3
#yum install xmms-mp3
安裝mplayer,同時自動安裝相關(guān)的軟件
#yum install mplayer
刪除licq包,同時刪除與該包有倚賴性的包
#yum remove licq
注:同時會提示刪除licq-gnome,licq-qt,licq-text,非常方便
系統(tǒng)更新(更新所有可以升級的rpm包,包括kernel)
#yum -y update
每天定期執(zhí)行系統(tǒng)更新
#chkconfig yum on
#service yum start
六. yum指令詳解
*rpm包的更新
檢查可更新的rpm包
#yum check-update
更新所有的rpm包
#yum update
更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source
大規(guī)模的版本升級,與yum update不同的是,連舊的淘汰的包也升級
#yum upgrade
*rpm包的安裝和刪除
安裝rpm包,如xmms-mp3
#yum install xmms-mp3
刪除rpm包,包括與該包有倚賴性的包
#yum remove licq
注:同時會提示刪除licq-gnome,licq-qt,licq-text
*yum暫存(/var/cache/yum/)的相關(guān)參數(shù)
清除暫存中rpm包文件
#yum clean packages
清除暫存中rpm頭文件
#yum clean headers
清除暫存中舊的rpm頭文件
#yum clean oldheaders
清除暫存中舊的rpm頭文件和包文件
#yum clean或#yum clean all
注:相當(dāng)于yum clean packages + yum clean oldheaders
*rpm包列表
列出資源庫中所有可以安裝或更新的rpm包
#yum list
列出資源庫中特定的可以安裝或更新以及已經(jīng)安裝的rpm包
#yum list mozilla
#yum list mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包
列出資源庫中所有可以更新的rpm包
#yum list updates
列出已經(jīng)安裝的所有的rpm包
#yum list installed
列出已經(jīng)安裝的但是不包含在資源庫中的rpm包
#yum list extras
注:通過其它網(wǎng)站下載安裝的rpm包
*rpm包信息顯示(info參數(shù)同list)
列出資源庫中所有可以安裝或更新的rpm包的信息
#yum info
列出資源庫中特定的可以安裝或更新以及已經(jīng)安裝的rpm包的信息
#yum info mozilla
#yum info mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla開頭的rpm包的信息
列出資源庫中所有可以更新的rpm包的信息
#yum info updates
列出已經(jīng)安裝的所有的rpm包的信息
#yum info installed
列出已經(jīng)安裝的但是不包含在資源庫中的rpm包的信息
#yum info extras
注:通過其它網(wǎng)站下載安裝的rpm包的信息
*搜索rpm包
搜索匹配特定字符的rpm包
#yum search mozilla
注:在rpm包名,包描述等中搜索
搜索有包含特定文件名的rpm包
#yum provides realplay
七. 安全的更新freshrpms.net的rpm包
安裝freshrpms.net的GPG key #rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt
編輯/etc/yum.conf,增加以下信息到尾部
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
注:
檢查GPG Key
# rpm -qa gpg-pubkey*
顯示Key信息
#rpm -qi gpg-pubkey-e42d547b-3960bdf1
刪除Key
#rpm -e gpg-pubkey-e42d547b-3960bdf1
?
?
?
man yum;
check-update???????檢查可提供的包升級
clean??????????????刪除緩存數(shù)據(jù)
deplist????????????列出包依賴相關(guān)
erase??????????????移除一個或多個包從你的系統(tǒng)
groupinfo??????????顯示關(guān)于包組的細(xì)節(jié)
groupinstall???????從組里安裝軟件包到你的系統(tǒng)
grouplist??????????列出當(dāng)前的組
groupremove????????在一個組中移除包從您的系統(tǒng)
help???????????????顯示幫助用法信息
info???????????????顯示關(guān)于包或一組包的細(xì)節(jié)信息
install????????????安裝一個或多個軟件包在你的系統(tǒng)
list???????????????列出一個包或某組的包
localinstall???????安裝本地?RPM
makecache??????????生成原數(shù)據(jù)緩存
provides???????????Find?what?package?provides?the?given?value
reinstall??????????重新安裝一個包
repolist???????????顯示軟件倉庫的配置
resolvedep?????????決定哪個包提供了給定的依賴
search?????????????查找包細(xì)節(jié)居給定的字符串
shell??????????????運行交互式的yum?shell
update?????????????更新一個或多個包在你的系統(tǒng)
upgrade????????????Update?packages?taking?obsoletes?into?account
Options:
-h,?--help????????????????show?this?help?message?and?exit
-t,?--tolerant????????????be?tolerant?of?errors
-C????????????????????????從緩沖中運行,而不是升級緩存
-c??[config?file]?????????config?file?location
-R??[minutes]?????????????最大化的命令等待時間
-d??[debug?level]?????????調(diào)試輸出級別
--showduplicates??????????顯示復(fù)制,?在repo,list/search命令下
-e??[error?level]?????????錯誤輸出級別
-q,?--quiet???????????????安靜的操作
-v,?--verbose?????????????verbose?operation
-y????????????????????????回答所有的問題為是
--version?????????????????顯示?YUM版本信息并退出
--installroot=[path]??設(shè)置為root安裝
--enablerepo=[repo]???????激活一個或多個倉庫(支持通配符)
--disablerepo=[repo]??禁掉一個或多個倉庫(支持通配符)
-x?[package],?--exclude=[package]?在名稱或glob不包含包。
--disableexcludes=[repo]???????disable?exclude?from?main,?for?a?repo?or?for?everything
--obsoletes???????????????enable?obsoletes?processing?during?updates
--noplugins???????????????禁掉yum插件
--nogpgcheck??????????????禁掉GPG驗證檢查
--disableplugin=[plugin]???????用名稱禁掉插件
--enableplugin=[plugin]???enable?plugins?by?name
--skip-broken?????????????忽略包的依賴問題
--color=COLOR?????????????control?whether?color?is?used
本文轉(zhuǎn)自 西索oO 51CTO博客,原文鏈接:http://blog.51cto.com/lansgg/1104132
總結(jié)
以上是生活随笔為你收集整理的linux中yum命令详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI 学习之路——轻松初探 Python
- 下一篇: Java线程:线程的同步与锁