centos7如何使用yum命令


參照https://www.cnblogs.com/zhongguiyao/p/9029922.html

參照https://blog.csdn.net/shuaigexiaobo/article/details/79875730

Yum

(全稱為 Yellow dogUpdater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。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目錄下,

[root@bogon etc]# cd yum.repos.d/
[root@bogon yum.repos.d]# ls
Centos-7.repo CentOS-Debuginfo.repo CentOS-Vault.repo
CentOS-Base.repo CentOS-fasttrack.repo zabbix.repo
CentOS-CR.repo CentOS-Sources.repo
[root@bogon yum.repos.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文件:

[root@bogon yum.repos.d]# vi /etc/yum.conf


cachedir=/var/cache/yum/$basearch/$releasever         #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 all (= yum clean packages; yum clean oldheaders)   ·清除緩存目錄下的軟件包及舊的headers

另外:如果遇到運行yum時出現/var/run/yum.pid已被鎖定,PID為xxxx的另一個程序正在運行的問題解決

  解決辦法
  rm -f /var/run/yum.pid

  刪除文件后再次運行yum可用。

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。

yum
grouplist 查看軟件組列表
groupinfo 查看軟件組說明信息
groupinstall 安裝指定軟件組
groupupdate 升級軟件組
groupremove 卸載軟件組

 

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

輸入:yumgroupinstall "Security Tools"

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM