linux yum介紹

什么是YUM

YUM弛说,全稱Yellow dog Updater, Modifier良姆,是一個自由、開源的命令行軟件包管理工具嘶居,運行在基于RPM包管理的的Linux操作系統(tǒng)(例如RedHat厚者、CentOS躁劣、Suse等)。
基于 RPM 包管理籍救,能夠從指定的服務(wù)器自動下載 RPM 包并且安裝习绢,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包蝙昙,無須繁瑣地一次次下載、安裝梧却。

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] [package ...]

options:可選耿戚,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes")阿趁,-q(不顯示安裝的過程)等等溅话。
command:要進行的操作。
package操作的對象歌焦。

常用選項(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

命令列表(command):


check         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       #顯示機器可用源的版本

查詢功能:

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

$ yum [option] [查詢工作項目] [相關(guān)參數(shù)]
選項與參數(shù):
[option]:主要的選項,包括有:
  -y :當 yum 要等待使用者輸入時独撇,這個選項可以自動提供 yes 的回應(yīng)屑墨;
  --installroot=/some/path :將該軟件安裝在 /some/path 而不使用默認路徑
[查詢工作項目] [相關(guān)參數(shù)]:這方面的參數(shù)有:
  search  :搜尋某個軟件名稱或者是描述 (description) 的重要關(guān)鍵字;
  list    :列出目前 yum 所管理的所有的軟件名稱與版本纷铣,有點類似 rpm -qa卵史;
  info    :同上,不過有點類似 rpm -qai 的運行結(jié)果搜立;
  provides:從文件去搜尋軟件以躯!類似 rpm -qf 的功能!

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

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

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

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

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

安裝/升級功能

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

$ yum [option] [查詢工作項目] [相關(guān)參數(shù)]
選項與參數(shù):
  install :后面接要安裝的軟件颠通!
  groupinstall : 組包安裝址晕,后面接軟件包組
  update  :后面接要升級的軟件,若要整個系統(tǒng)都升級顿锰,就直接 update 即可
  groupupdate : 組包升級

范例一:安裝git
$ yum install git

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

移除功能

yum [remove | groupremove] 軟件

$ yum remove git

清除緩存

yum 會把下載的軟件包和header存儲在cache中谨垃,而不會自動刪除。如果我們覺得它們占用了磁盤空間硼控,可以使用yum clean指令進行清除刘陶,更精確的用法是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:定義了全局配置選項匙隔,該文件只有一個。通常位于 /etc/yum.conf
  • repository:定義了源服務(wù)器的具體配置浪默,可能是一或多個牡直。通常位于 /etc/yum.repo.d 目錄

配置文件main

可以通過以下命令查看yum的配置:

$ cat /etc/yum.conf

主要配置項如下:

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

# 安裝完成后是否保留軟件包,0為不保留(默認為0)碰逸,1為保留
keepcache=0
   
# Debug 信息輸出等級乡小,范圍為0-10,默認為2
debuglevel=2

# yum 日志文件位置饵史,用戶通過該文件查詢做過的更新   
logfile=/var/log/yum.log
   
# 是否只安裝和系統(tǒng)架構(gòu)匹配的軟件包满钟。可選項為:1?0胳喷,默認為1
# 設(shè)置為 1 時不會將 i686 的軟件包安裝在適合i386的系統(tǒng)中
exactarch=1

# update 設(shè)置湃番,是否允許更新陳舊的 RPM 包,相當于 upgrade
obsoletes=1
   
# 是否進行 GPG(GNU Private Guard) 校驗吭露,以確定 RPM 包的來源是有效和安全
# 當在這個選項設(shè)置在[main]部分吠撮,則對每個 repository 都有效
plugins=1

# 是否啟用插件,默認1為允許讲竿,0表示不允許
gpgcheck=1
   
# 排除某些軟件在升級名單之外泥兰,可以用通配符,各個項目用空格隔開
exclude=*.i?86 kernel kernel-xen kernel-debug

# 可同時安裝多少程序包   
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

# 當前發(fā)行版版本號   
distroverpkg=centos-release

配置目錄repository

在yum.repos.d 目錄下存放的就是yum源的設(shè)定文件题禀。

查看對應(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

...

說明:

  • [base]:代表容器的名字鞋诗!中刮號一定要存在,里面的名稱則可以隨意取迈嘹。但是不能有兩個相同的容器名稱削彬, 否則 yum 會不曉得該到哪里去找容器相關(guān)軟件清單文件。
  • name:只是說明一下這個容器的意義而已秀仲,重要性不高融痛!
  • mirrorlist=:列出這個容器可以使用的映射站臺,如果不想使用啄育,可以注解到這行酌心;
  • baseurl=:這個最重要,因為后面接的就是容器的實際網(wǎng)址挑豌! mirrorlist 是由 yum 程序自行去捉映射站臺, baseurl 則是指定固定的一個容器網(wǎng)址墩崩!我們剛剛找到的網(wǎng)址放到這里來啦氓英!
  • enable=1:就是讓這個容器被啟動。如果不想啟動可以使用 enable=0 喔鹦筹!
  • gpgcheck=1:還記得 RPM 的數(shù)碼簽章嗎铝阐?這就是指定是否需要查閱 RPM 文件內(nèi)的數(shù)碼簽章!
  • gpgkey=:就是數(shù)碼簽章的公鑰檔所在位置铐拐!使用默認值即可

注意:手工修改repo文件后徘键,需要更新緩存练对,命令如下

yum clean all

2018.05.03

參考

1.yum(software);
2.鳥哥-yum
3.yum簡單介紹吹害;
4.linux yum命令詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末螟凭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子它呀,更是在濱河造成了極大的恐慌螺男,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纵穿,死亡現(xiàn)場離奇詭異下隧,居然都是意外死亡,警方通過查閱死者的電腦和手機谓媒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門淆院,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人句惯,你說我怎么就攤上這事土辩。” “怎么了宗弯?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵脯燃,是天一觀的道長。 經(jīng)常有香客問我蒙保,道長辕棚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任邓厕,我火速辦了婚禮逝嚎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘详恼。我一直安慰自己补君,他們只是感情好,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布昧互。 她就那樣靜靜地躺著挽铁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敞掘。 梳的紋絲不亂的頭發(fā)上叽掘,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機與錄音玖雁,去河邊找鬼更扁。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的浓镜。 我是一名探鬼主播溃列,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼膛薛!你這毒婦竟也來了听隐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤相叁,失蹤者是張志新(化名)和其女友劉穎遵绰,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體增淹,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡椿访,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了虑润。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片成玫。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拳喻,靈堂內(nèi)的尸體忽然破棺而出哭当,到底是詐尸還是另有隱情,我是刑警寧澤冗澈,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布钦勘,位于F島的核電站,受9級特大地震影響亚亲,放射性物質(zhì)發(fā)生泄漏彻采。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一捌归、第九天 我趴在偏房一處隱蔽的房頂上張望肛响。 院中可真熱鬧,春花似錦惜索、人聲如沸特笋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猎物。三九已至,卻和暖如春角塑,著一層夾襖步出監(jiān)牢的瞬間霸奕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工吉拳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人适揉。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓留攒,卻偏偏與公主長得像煤惩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子炼邀,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

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