參照https://www.cnblogs.com/zhongguiyao/p/9029922.htmlphp
參照https://blog.csdn.net/shuaigexiaobo/article/details/79875730html
Yum前端
(全稱爲 Yellow dogUpdater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至所有軟件包的命令,並且命令簡潔而又好記。python
yum的命令形式通常是以下: yum –選項命令包mysql
其中選項是可選的,選項包括-h(幫助),-y(當安裝過程提示選擇所有爲"yes"),-q(不顯示安裝的過程)等等。[command]爲所要進行的操做,[package ...]是操做的對象。sql
yum的一切信息都存儲在一個叫yum.reops.d目錄下的配置文件中,一般位於/etc/yum.reops.d目錄下。docker
在這個目錄下面有不少文件,都是.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的日誌文件所在的位置
詳細可參照下圖:
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可用。
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的詳細信息
yum -y install httpd
若是你不加-y他會問你要不要安裝。若是你想本身來控制有些包是否安裝,這裏不要加-y,若是你想自動安裝,不進行交互,這裏加入-y。這個就是yum 的安裝了,很是簡單。
安裝完以後查詢一下
yum list httpd,Installed 說明已經安裝好了
yum remove httpd 刪除程序包httpd ,也就是卸載。
yum deplist rpm 查看程序rpm依賴狀況
yum check-update 檢查可更新的程序
yum update 所有更新,升級全部包,以及升級軟件和系統內核,這就是一鍵升級。他能夠更新CentOS的內核到最新版本。
yum update package1 更新指定程序包package1,
yum upgrade package1 升級指定程序包package1
YUM 解決依賴關係問題,自動下載軟件包。yum是基於C/S架構。C指的是客戶端, S指的是服務器,想ftp,http,file、關於yum爲何能解決依賴關係:全部的Yum 源裏面都有repodata,它裏面是有XML格式文件,裏面有說明須要什麼包。例如上堂課實驗的:mysql-server rpm 須要:perl-DBI ,python,或者是php等等包。
yum進行安裝的時候能夠一組一組的進行安裝,先來看看有那些組yumgrouplist。
yum
grouplist 查看軟件組列表
groupinfo 查看軟件組說明信息
groupinstall 安裝指定軟件組
groupupdate 升級軟件組
groupremove 卸載軟件組
若是咱們想以組的方式來安裝,加入我想安裝安全工具:
輸入:yumgroupinstall "Security Tools"
看到這裏詢問是否要安裝,固然是N不安裝了。若是想直接安裝,不詢問的話,這裏也在後面加上選項 –y。 yum groupremove group1 刪除程序組group1