在centos7中,yum全名為“Yellowdog update Modified”,是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。 yum基於RPM套件管理,能夠從指定的伺服器自動下載RPM套件並且安裝。
本教學操作環境:centos7系統、thinkpad t480電腦。
yum是Yellowdog update Modified的簡稱,是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟體套件管理器。
基於 RPM 套件管理,能夠從指定的伺服器自動下載 RPM 套件並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum 提供了一個尋找、安裝、刪除某一個、一組甚至全部軟體包的指令,而且指令簡潔又好記。
yum的宗旨是自動化的升級、安裝/移除rpm安裝包(也就是說yum這個命令它的操作對像是RPM包),收集rmp的相關信息,檢查依賴性,並提示用戶解決。
yum的關鍵之處是要有可靠的repository,顧名思義這就是軟體的倉庫,它可以是http或ftp站點,也可以是本地的軟體池,但是必須包含rpm的header,rmp的header包括了rmp的各種信息,包括描述、功能、提供的文件、依賴性等,正是收集了這些信息,才能自動化的完成餘下的任務。
yum本身就是一個運行在linux上的自動管理安裝套件的系統。 yum 的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution 的應用程式相互關係,根據計算出來的軟體依賴關係進行相關的升級、安裝、刪除等等操作,減少了Linux 用戶一直頭痛的dependencies 的問題。
這一點上,yum 和apt 相同。 apt 原為debian 的deb 類型軟體管理所使用,但現在也能用到RedHat 門下的rpm 了。
1.可以同時設定多個資源庫(repository)
2.簡潔的設定檔(一般設定檔是/etc/yum.conf )
3.自動解決增加或刪除rpm包時遇到的依賴問題
4.保持與rpm的資料庫一致
yum的配置文件,它的絕對路徑一般是:/etc/yum.conf。 yum的一切設定資訊都儲存在這個檔案中,這是yum系統中最重要的內容。
yum.conf一般分為main和repository兩部分,但是預設情況下只有main部分。每一個yum.conf都只能有一個main部分。 repository 部分定義了每個來源/伺服器的特定配置,可以有一到多個。常位於/etc/yum.repo.d 目錄下的各檔案中。
使用cat /etc/yum.conf檢視該檔案的內容。
1.cachedir:此項目為yum下載的RPM套件的快取目錄,yum在此儲存下載的rpm套件和資料庫
2.keepcache :快取是否保存,1表示安裝後保留軟體包,0表示安裝後刪除軟體包
3.debuglevel:出錯日誌級別,級別為0-10,預設為2(只保留安裝和刪除記錄)
4.logfile:存放系統更新軟體的記錄,使用者可以在該設定項配置的檔案中檢查自己在過去的日子都做了哪些更新
5. pkgpolicy: 包的策略。總共有兩個選項,newest和last,這個作用是如果你設定了多個repository,而同一軟體在不同的repository中同時存在,yum應該安裝哪一個,如果是newest,則yum會安裝最新的那個版本。如果是last,則yum會將伺服器id以字母表排序,並選擇最後的該伺服器上的軟體安裝。
6.distroverp:指定一個軟體包,yum會根據這個包判斷你的發行版本,預設是RedHat-release,也可以是安裝的任何針對自己發行版的rpm包。
7.tolerent:也有1和0兩個選項,表示yum是否容忍命令列發生與軟體包有關的錯誤,例如你要安裝1,2,3三個包,而其中3先前已經安裝了,如果你設為1,則yum不會出現錯誤訊息。預設是0。
8.exactarch:有兩個選項1和0,代表是否只升級和你安裝軟體包cpu體系一致的包,如果設為1,則如你安裝了一個i386的rpm,則yum不會用1686的包來升級。
9.retries:網路連線發生錯誤後的重試次數,如果設為0,則會無限重試。
10.obsoletes:這是一個update的參數,具體請參閱yum(
8
),簡單的說就是相當於upgrade,允許更新陳舊的RPM包。
11.gpgcheck:是否檢查GPG(GNU Private Guard),一種金鑰方式簽署。
12.plugins:否允許使用插件,預設為
0
#不允許,但是我們通常會用yum-fastestmirror這個插件。
13.installonly_limit:允許保留多少個核心套件。
14.exclude:屏蔽不想更新的RPM包,可用通配符,多個RPM包之間使用空格分離。
15.reposdir:此選項使用者指定 .repo 檔案的絕對路徑。 .repo 檔案包含軟體倉庫的資訊 (作用與 /etc/yum.conf 檔案中的 [repository] 片段相同)。 reposdir=[包含.repo 檔案的目錄的絕對路徑]
16.bugtracker_url:追蹤bug路徑
使用:##man 5 yum.conf #可獲得yum.conf的詳解
#yum的工作模式是C/S架構:
Server#cor(yum倉庫):依賴關係庫、原始檔案、校驗碼檔案。
#Client端:yum客戶端程式、設定文件(連線Server路徑資訊)。
######## #############
執行yum指令時,會先從」/etc/yum.repo.d」目錄下的眾多repo檔案中取得軟體倉庫的位址並下載“元資料”,“元資料”包含註冊於該軟體倉庫內所有軟體包的包名及其所需的依賴環境等信息,yum得到這些信息後會和本地以後環境做對比,進而列出確認需要安裝哪些包,並在用戶確認後開始安裝。
「元資料」由位於yum來源伺服器相關路徑的repodata目錄下的repomd.xml做索引。
yum系統的工作流程:
伺服器端:伺服器上面存放了所有的rpm軟體包,然後以相關的功能去分析每個rpm檔案的依賴性關係,將這些資料記錄成文件存放在伺服器的某特定目錄內。
#客戶端:如果需要安裝某個軟體時,先下載伺服器上面記錄的依賴性關係檔案(可透過WWW或FTP方式),透過伺服器端下載的紀錄資料進行分析,然後取得所有相關的軟體,一次全部下載下來進行安裝。 ########################################################### #############
## 什麼是repo檔? repo檔案是Fedora中yum來源(軟體倉庫)的設定文件,通常一個repo檔案定義了一個或多個軟體倉庫的細節內容,例如我們將從哪裡下載需要安裝或升級的軟體包,repo檔案中的設置內容將被yum讀取和應用!
# 進入/etc/yum.repos.d/目錄下,可以看到預設情況下有以下三個檔案:
# 其中CentOS-Base.repo 是yum 網路來源的設定檔(一般都是用這個)
# CentOS-Debuginfo .repo debug套件尤其和核心相關的更新和軟體安裝 CentOS-Media.repo 這個是使用光碟掛載後呼叫的檔案(我機器上沒有)
CentOS-Vault. repo 這個是最近新版本的加入的舊版的yum來源配置(沒有。。。) epel.repo:EPEL(Extra Packages for Enterprise Linux)是由 Fedora 社群打造,為 RHEL 及衍生發行版如 CentOS等提供高品質軟體包的專案。裝上了 EPEL,就像在 Fedora 上一樣,可以透過 yum install 軟體包名,即可安裝許多以前需要編譯安裝的軟體、常用的軟體或一些比較流行的軟體,例如現在流行的nginx、htop、ncdu 、vnstat等等,都可以使用EPEL很方便的安裝更新。前可以直接透過執行指令:
yum install epel-release直接進行安裝,如果不能安裝,參考:yum指令格式yum的指令形式一般是如下:
yum [options] [command] [package ...]# 其中的[options]是可選的,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。 [command]為所要進行的操作,[package ...]是操作的物件。
1.OPTIONS--nogpgcheck:禁止進行gpg check; # -y:
為「yes」使用;#,不輸出顯示訊息
;# --disablerepo=repoidglob:暫時停用此處指定的repo;#repo;
--enablerepo=repoidglob:暫時啟用此處指定的repo;###### --noplug##.停用所有外掛程式; #COMMAND###############(1)為倉庫清單#:repolist
# ## # # # # yum
repolist [all|enabled|disabled][
所有|可用的|
不可用###]######## ################################ 參考:https://blog.csdn.net/xmm1981/article/details/ 78258176######推薦:《###centos使用教學###》###以上是centos7 yum是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!