1. 程式人生 > >Linux系統中yum 命令講解

Linux系統中yum 命令講解

 

(一)yum介紹

Yum(全稱為 Yellow dogUpdater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。

 (二)yum使用

yum的命令形式一般是如下:    yum –選項命令包

其中選項是可選的,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(

不顯示安裝的過程)等等。[command]為所要進行的操作,[package ...]是操作的物件。

yum的一切資訊都儲存在一個叫yum.reops.d目錄下的配置檔案中,通常位於/etc/yum.reops.d目錄下。

  在這個目錄下面有很多檔案,都是.repo結尾的,repo檔案是yum源(也就是軟體倉庫)的配置檔案,通常一個repo檔案定義了一個或者多個軟體倉庫的細節內容,例如我們將從哪裡下載需要安裝或者升級的軟體包,repo檔案中的設定內容將被yum讀取和應用!

進入/etc/yum.repo.d目錄下,

vi CentOS-Base.repo

[extras]這個表示的是名稱,--->yum的ID,必須唯一,本地有多個yum源的時候,這裡必須是唯一的

name=CentOS-$releasever - Base     ----->具體的yum源名字,其實相當於對它的描述描述資訊  $r releasever你可以使用這個變數參考紅帽企業Linux發行版,也就是說表示當前發行版的大版本號。

baseurl是映象伺服器地址,只能寫具體的確定地址。下面的例子中,只能有一個baseurl,但裡面可以包含多個url

mirrorlist是映象伺服器的地址列表,裡面有很多的伺服器地址。這裡有一個變數$arch,cpu體系,還有一個變數:$basearch,cpu的基本體系組

baseurl和mirrorlist都是指向yum源的地址,不同點是包含地址的多少。你若自己寫的話,我們一般只寫一個地址,直接用baseurl就行

gpgcheck=0    ---->要不要驗證呢,取消驗證。1,使用公鑰檢驗rpm的正確性。

gpgcheck若是1將對下載的rpm將進行gpg的校驗,校驗金鑰就是gpgkey,一般自己的yum源是不需要檢測的。gpgcheck=0,那麼gpgkey就可以不填寫

在來看一下yum.conf檔案

cachedir=/var/cache/yum         #yum下載的RPM包的快取目錄

keepcache=0                        #快取是否儲存,1儲存,0不儲存。

debuglevel=2                       #除錯級別(0-10),預設為2

logfile=/var/log/yum.log       #yum的日誌檔案所在的位置

1  yum清空快取列表

yum clean packages 清除快取目錄下的軟體包,清空的是(/var/cache/yum)下的快取
yum clean headers 清除快取目錄下的 headers
yum clean oldheaders 清除快取目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除快取目錄下的軟體包及舊的headers

2  yum顯示資訊

yum list          # yum list顯示所有已經安裝和可以安裝的程式包

這些列表裡面的包的來源就是/etc/yum.repo.d。 base  docker-ce-stable  epel/x86_64/metalink   epel  extras   rpmforge  updates    

yum list rpm 顯示安裝包資訊rpm

顯示installed ,這裡是包名,版本和倉庫名

yum list httpd

這裡是可獲得包,說明還沒有安裝。

yum info rpm 顯示安裝包rpm的詳細資訊

3  yum安裝

yum -y install httpd

如果你不加-y他會問你要不要安裝。如果你想自己來控制有些包是否安裝,這裡不要加-y,如果你想自動安裝,不進行互動,這裡加入-y。這個就是yum 的安裝了,非常簡單。

安裝完之後查詢一下

yum list httpd,Installed 說明已經安裝好了

4  yum刪除

yum remove httpd 刪除程式包httpd ,也就是解除安裝。

yum deplist rpm 檢視程式rpm依賴情況

 

5  yum包的升級

yum check-update 檢查可更新的程式
    yum update 全部更新,升級所有包,以及升級軟體和系統核心,這就是一鍵升級。他可以更新CentOS的核心到最新版本。
    yum update package1 更新指定程式包package1,   
    yum upgrade package1 升級指定程式包package1

6  yum 解決依賴的原理

YUM 解決依賴關係問題,自動下載軟體包。yum是基於C/S架構。C指的是客戶端, S指的是伺服器,想ftp,http,file、關於yum為什麼能解決依賴關係:所有的Yum 源裡面都有repodata,它裡面是有XML格式檔案,裡面有說明需要什麼包。例如上堂課實驗的:mysql-server  rpm 需要:perl-DBI ,python,或者是php等等包。

7 yum 組的管理

yum進行安裝的時候可以一組一組的進行安裝,先來看看有那些組yumgrouplist。可用的組有這麼多。

Available Environment Groups:首先是可用的環境分組。

  Compute Node  計算節點

  Infrastructure Server 基礎設施伺服器

  File and Print Server  檔案和列印服務

  Cinnamon Desktop   Cinnamon桌面

Installed Groups:已安裝的組,開發工具

  Development Tools

Available Groups:可用的組。

如果我們想以組的方式來安裝,加入我想安裝安全工具:

輸入:yumgroupinstall "Security Tools"

看到這裡詢問是否要安裝,當然是N不安裝了。如果想直接安裝,不詢問的話,這裡也在後面加上選項 –y。
    yum groupremove group1 刪除程式組group1

參考

1 安裝
yum install 全部安裝
yum install package1 安裝指定的安裝包package1
yum groupinsall group1 安裝程式組group1

2 更新和升級
yum update 全部更新
yum update package1 更新指定程式包package1
yum check-update 檢查可更新的程式
yum upgrade package1 升級指定程式包package1
yum groupupdate group1 升級程式組group1

3 查詢和顯示
yum info package1 顯示安裝包資訊package1
yum list 顯示所有已經安裝和可以安裝的程式包
yum list package1 顯示指定程式包安裝情況package1
yum groupinfo group1 顯示程式組group1資訊yum search string 根據關鍵字string查詢安裝包

4 刪除程式
yum remove | erase package1 刪除程式包package1
yum groupremove group1 刪除程式組group1
yum deplist package1 檢視程式package1依賴情況

5 清除快取
yum clean packages 清除快取目錄下的軟體包
yum clean headers 清除快取目錄下的 headers
yum clean oldheaders 清除快取目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除快取目錄下的軟體包及舊的header