了解linux yum

目標(biāo)

  • 了解什么是yum
  • 了解yum的命令格式
  • 了解如何配置yum

什么是YUM

YUM,全稱Yellow dog Updater, Modifier展懈,是一個(gè)自由、開(kāi)源的命令行軟件包管理工具,運(yùn)行在基于RPM包管理的的Linux操作系統(tǒng)(例如RedHat份氧、CentOS、Suse等)弯屈。
基于 RPM 包管理蜗帜,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴性關(guān)系资厉,并且一次安裝所有依賴的軟件包厅缺,無(wú)須繁瑣地一次次下載、安裝宴偿。

yum 主要是更方便的添加湘捎、刪除、更新RPM包窄刘,自動(dòng)解決軟件包之間的依賴關(guān)系窥妇,方便系統(tǒng)更新及軟件管理。yum 通過(guò)軟件倉(cāng)庫(kù)(repository)進(jìn)行軟件的下載娩践、安裝等活翩,軟件倉(cāng)庫(kù)可以是一個(gè) HTTP 或 FTP 站點(diǎn),也可以是一個(gè)本軟件池欺矫,資源倉(cāng)庫(kù)也可以是多個(gè)纱新,在 /etc/yum.conf 文件中進(jìn)行相關(guān)配置即可。在yum的資源庫(kù)中穆趴,會(huì)包括 RPM 的頭信息(header)脸爱,頭信息中包括了軟件的功能描述、依賴關(guān)系等未妹。通過(guò)分析這些信息簿废,yum 計(jì)算出依賴關(guān)系并進(jìn)行相關(guān)的升級(jí)空入、安裝、刪除等操作族檬。


yum的命令

語(yǔ)法

命令格式:

yum [options] [command] [package ...]

options:可選歪赢,選項(xiàng)包括-h(幫助),-y(當(dāng)安裝過(guò)程提示選擇全部為"yes")单料,-q(不顯示安裝的過(guò)程)等等埋凯。
command:要進(jìn)行的操作。
package操作的對(duì)象扫尖。

常用選項(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)試級(jí)別
-e [error level], --errorlevel=[error level]  #設(shè)置錯(cuò)誤等級(jí)
-q, --quiet        #退出運(yùn)行
-v, --verbose      #詳細(xì)模式
-y, --assumeyes    #對(duì)所有交互提問(wèn)都回答 yes

命令列表(command):


check         check         #檢測(cè) rpmdb 是否有問(wèn)題
check-update  #檢查可更新的包
clean         #清除緩存的數(shù)據(jù)
deplist       #顯示包的依賴關(guān)系
distribution-synchronization  #將已安裝的包同步到最新的可用版本
downgrade     #降級(jí)一個(gè)包
erase         #刪除包
groupinfo     #顯示包組的詳細(xì)信息
groupinstall  #安裝指定的包組
grouplist     #顯示可用包組信息
groupremove   #從系統(tǒng)刪除已安裝的包組
help          #刪除幫助信息
history       #顯示或使用交互歷史
info          #顯示包或包組的詳細(xì)信息
install       #安裝包
list          #顯示可安裝或可更新的包
makecache     #生成元數(shù)據(jù)緩存
provides      #搜索特定包文件名
reinstall     #重新安裝包
repolist      #顯示已配置的資源庫(kù)
resolvedep    #指事實(shí)上依賴
search        #搜索包
shell         #進(jìn)入yum的shell提示符
update        #更新系統(tǒng)中的包
upgrade       #升級(jí)系統(tǒng)中的包
version       #顯示機(jī)器可用源的版本

查詢功能:

yum [list | info | search | provides | whatprovides] 參數(shù)

$ yum [option] [查詢工作項(xiàng)目] [相關(guān)參數(shù)]
選項(xiàng)與參數(shù):
[option]:主要的選項(xiàng),包括有:
  -y :當(dāng) yum 要等待使用者輸入時(shí)换怖,這個(gè)選項(xiàng)可以自動(dòng)提供 yes 的回應(yīng)甩恼;
  --installroot=/some/path :將該軟件安裝在 /some/path 而不使用默認(rèn)路徑
[查詢工作項(xiàng)目] [相關(guān)參數(shù)]:這方面的參數(shù)有:
  search  :搜尋某個(gè)軟件名稱或者是描述 (description) 的重要關(guān)鍵字;
  list    :列出目前 yum 所管理的所有的軟件名稱與版本沉颂,有點(diǎn)類似 rpm -qa条摸;
  info    :同上,不過(guò)有點(diǎn)類似 rpm -qai 的運(yùn)行結(jié)果铸屉;
  provides:從文件去搜尋軟件钉蒲!類似 rpm -qf 的功能!

范例一:搜尋git相關(guān)的軟件有哪些抬探?
$ yum search git

范例二:找出 git 這個(gè)軟件的功能為何
$ yum info git

范例三:列出 yum 服務(wù)器上面提供的所有軟件名稱
$ yum list

范例四:列出目前服務(wù)器上可供本機(jī)進(jìn)行升級(jí)的軟件有哪些子巾?
$ yum list updates  <==一定要是 updates 喔!

范例五:列出提供 passwd 這個(gè)文件的軟件有哪些
$ yum provides passwd

安裝/升級(jí)功能

yum [install | update | groupinstall | groupupdate] 軟件

$ yum [option] [查詢工作項(xiàng)目] [相關(guān)參數(shù)]
選項(xiàng)與參數(shù):
  install :后面接要安裝的軟件小压!
  groupinstall : 組包安裝线梗,后面接軟件包組
  update  :后面接要升級(jí)的軟件,若要整個(gè)系統(tǒng)都升級(jí)怠益,就直接 update 即可
  groupupdate : 組包升級(jí)

范例一:安裝git
$ yum install git

范例二:升級(jí)真?zhèn)€系統(tǒng)的軟件
$ yum update

移除功能

yum [remove | groupremove] 軟件

$ yum remove git

清除緩存

yum 會(huì)把下載的軟件包和header存儲(chǔ)在cache中仪搔,而不會(huì)自動(dòng)刪除。如果我們覺(jué)得它們占用了磁盤(pán)空間蜻牢,可以使用yum clean指令進(jìn)行清除烤咧,更精確的用法是yum clean headers清除header,yum clean packages清除下載的rpm包抢呆,yum clean all 清除所有
yum [clean]

1.清除緩存目錄(/var/cache/yum)下的軟件包
yum clean packages

2.清除緩存目錄(/var/cache/yum)下的 headers
yum clean headers

3.清除緩存目錄(/var/cache/yum)下舊的 headers
命令:yum clean oldheaders

4.清除緩存目錄(/var/cache/yum)下的軟件包及舊的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)

yum的配置

yum 的配置文件分為main 和repository :

  • main:定義了全局配置選項(xiàng)煮嫌,該文件只有一個(gè)。通常位于 /etc/yum.conf
  • repository:定義了源服務(wù)器的具體配置抱虐,可能是一或多個(gè)昌阿。通常位于 /etc/yum.repo.d 目錄

配置文件main

可以通過(guò)以下命令查看yum的配置:

cat /etc/yum.conf

主要配置項(xiàng)如下:

[main]
# yum 的緩存目錄,用于存儲(chǔ)下載的 RPM 包和數(shù)據(jù)庫(kù)
cachedir=/var/cache/yum/$basearch/$releasever

# 安裝完成后是否保留軟件包,0為不保留(默認(rèn)為0)懦冰,1為保留
keepcache=0
   
# Debug 信息輸出等級(jí)灶轰,范圍為0-10,默認(rèn)為2
debuglevel=2

# yum 日志文件位置刷钢,用戶通過(guò)該文件查詢做過(guò)的更新   
logfile=/var/log/yum.log
   
# 是否只安裝和系統(tǒng)架構(gòu)匹配的軟件包笋颤。可選項(xiàng)為:1?0内地,默認(rèn)為1
# 設(shè)置為 1 時(shí)不會(huì)將 i686 的軟件包安裝在適合i386的系統(tǒng)中
exactarch=1

# update 設(shè)置伴澄,是否允許更新陳舊的 RPM 包,相當(dāng)于 upgrade
obsoletes=1
   
# 是否進(jìn)行 GPG(GNU Private Guard) 校驗(yàn)瓤鼻,以確定 RPM 包的來(lái)源是有效和安全
# 當(dāng)在這個(gè)選項(xiàng)設(shè)置在[main]部分秉版,則對(duì)每個(gè) repository 都有效
plugins=1

# 是否啟用插件贤重,默認(rèn)1為允許茬祷,0表示不允許
gpgcheck=1
   
# 排除某些軟件在升級(jí)名單之外,可以用通配符并蝗,各個(gè)項(xiàng)目用空格隔開(kāi)
exclude=*.i?86 kernel kernel-xen kernel-debug

# 可同時(shí)安裝多少程序包   
installonly_limit=5

# Bug 追蹤路徑   
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum

# 當(dāng)前發(fā)行版版本號(hào)   
distroverpkg=centos-release

配置目錄repository

查看對(duì)應(yīng)目錄下的文件內(nèi)容

$ cat /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

...

說(shuō)明:

  • [base]:代表容器的名字祭犯!中刮號(hào)一定要存在,里面的名稱則可以隨意取滚停。但是不能有兩個(gè)相同的容器名稱沃粗, 否則 yum 會(huì)不曉得該到哪里去找容器相關(guān)軟件清單文件。
  • name:只是說(shuō)明一下這個(gè)容器的意義而已键畴,重要性不高最盅!
  • mirrorlist=:列出這個(gè)容器可以使用的映射站臺(tái),如果不想使用起惕,可以注解到這行涡贱;
  • baseurl=:這個(gè)最重要,因?yàn)楹竺娼拥木褪侨萜鞯膶?shí)際網(wǎng)址惹想! mirrorlist 是由 yum 程序自行去捉映射站臺(tái)问词, baseurl 則是指定固定的一個(gè)容器網(wǎng)址!我們剛剛找到的網(wǎng)址放到這里來(lái)啦嘀粱!
  • enable=1:就是讓這個(gè)容器被啟動(dòng)激挪。如果不想啟動(dòng)可以使用 enable=0 喔!
  • gpgcheck=1:還記得 RPM 的數(shù)碼簽章嗎锋叨?這就是指定是否需要查閱 RPM 文件內(nèi)的數(shù)碼簽章垄分!
  • gpgkey=:就是數(shù)碼簽章的公鑰檔所在位置!使用默認(rèn)值即可

注意:手工修改repo文件后娃磺,需要更新緩存薄湿,命令如下

yum clean all

2018.05.03

參考

1.yum(software);
2.鳥(niǎo)哥-yum
3.yum簡(jiǎn)單介紹
4.linux yum命令詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嘿般,一起剝皮案震驚了整個(gè)濱河市段标,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌炉奴,老刑警劉巖逼庞,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瞻赶,居然都是意外死亡赛糟,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)砸逊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)璧南,“玉大人,你說(shuō)我怎么就攤上這事师逸∷疽校” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵篓像,是天一觀的道長(zhǎng)动知。 經(jīng)常有香客問(wèn)我,道長(zhǎng)员辩,這世上最難降的妖魔是什么盒粮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮奠滑,結(jié)果婚禮上丹皱,老公的妹妹穿的比我還像新娘。我一直安慰自己宋税,他們只是感情好摊崭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著弃甥,像睡著了一般爽室。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淆攻,一...
    開(kāi)封第一講書(shū)人閱讀 49,842評(píng)論 1 290
  • 那天阔墩,我揣著相機(jī)與錄音,去河邊找鬼瓶珊。 笑死啸箫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伞芹。 我是一名探鬼主播忘苛,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蝉娜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了扎唾?” 一聲冷哼從身側(cè)響起召川,我...
    開(kāi)封第一講書(shū)人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胸遇,沒(méi)想到半個(gè)月后荧呐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纸镊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年倍阐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逗威。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峰搪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凯旭,到底是詐尸還是另有隱情概耻,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布尽纽,位于F島的核電站咐蚯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏弄贿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一矫膨、第九天 我趴在偏房一處隱蔽的房頂上張望差凹。 院中可真熱鬧,春花似錦侧馅、人聲如沸危尿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谊娇。三九已至,卻和暖如春罗晕,著一層夾襖步出監(jiān)牢的瞬間济欢,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工小渊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留法褥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓酬屉,卻偏偏與公主長(zhǎng)得像半等,于是被迫代替她去往敵國(guó)和親揍愁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容