這是一個數據庫管理工具,能夠經過讀取數據庫,判斷軟件是否已經安裝,若是已經安裝能夠讀取出來全部文件的所在位置等,並能夠實現刪除這些文件。數據庫
rpm:RPM is Redhat Package Manager(遞歸縮寫)vim
安裝軟件centos
卸載軟件緩存
查詢軟件信息網絡
升級、降級工具
檢驗url
打包程序spa
rpm僅僅能管理符合rpm格式的程序包,不能管理源碼格式的程序code
格式:rpm -ivh 軟件包名blog
選項
-i:安裝軟件
-v:顯示安裝過程
-h:用#表示安裝進度(# 2%)
-vv:顯示更詳細的安裝過程信息
-vvv:顯示更更詳細的安裝過程信息
格式:rpm -e 軟件名
選項:
-e:卸載軟件
例子:卸載軟件包ken
# rpm -e ken
格式:rpm -q 軟件名
選項:
-q:查看一個已經安裝的軟件
-a:查看全部已經安裝的軟件all
-l:顯示軟件安裝完成之後生成文件列表(全部文件)list
-i:查看軟件包的相關信息 info
-d:顯示該軟件所生成的說明性質的文檔列表docfiles
-c:查看軟件所生成的配置文件列表configfiles
--scripts:查看軟件相關的腳本
-f:以/bin/ls文件爲例
[root@localhost ~]# rpm -qf /bin/ls coreutils-8.22-18.el7.x86_64
選項
-U:升級或安裝軟件
-F:僅僅是升級操做
使用格式;
rpm -Fvh 軟件包名
rpm -Uvh 軟件包名
yum是一個rpm包的管理工具,能夠實現自動解決rpm包的依賴關係(自動安裝依賴順序進行rpm包的安裝)
爲什麼rpm包會有依賴關係?
製做rpm的人,在製做rpm包的時候,就將這個rpm的所依賴的軟件的信息保存在這個rpm包的內部
經過yum源(本地或者網絡源)來解決rpm包的依賴問題。其實yum源本質上就是rpm包的集合
是如何來解決依賴關係的呢
用 yum 進行安裝的過程(好比要安裝軟件A,A依賴B 和C, B依賴C D)
1)yum首先會掃描保存元數據信息的文件,檢查A是否已經安裝,若是已經安裝,那提示已經安裝
2)若是A還沒有安裝,那麼掃描A的依賴關係信息,會發現A 依賴B 和C
3)yum會再次掃描元數據文件,檢測B C 是否安裝,若是都已經安裝,那麼會開始開始安裝A
4)若是B C還沒有安裝,那麼會檢測 B C的依賴關係,會發現B依賴C D
5)yum會再次掃描元數據文件,檢測C D是否安裝,若是都已經安裝,那麼會開始開始安裝B,而後安裝C,,而後安裝A
yum的配置文件
主配置文件:/etc/yum.conf
子配置文件:/etc/yum.repos.d/*.repo (意思是在yum.repos.d這個目錄下,只要一 .repo爲結尾的文件都會被識別爲配置文件)
[localRpm] <<< 指定yum倉庫的id,能夠隨便寫,可是中間不能有空格
name=xxx <<< 指定yum倉庫的名稱,能夠隨便寫
enabled=0|1 <<< 指定是否使用該yum倉庫,0表示不使用;1表示使用
gpgcheck=0|1 <<< 指定是否對rpm包作完整性和來源合法性驗證,0表示不作驗證;1表示必須作驗證
gpgkey= <<< 指定公鑰文件(若是gpgcheck=1,那麼該項不能省略)
baseurl= <<< 指定yum倉庫的url(1.本地yum源 file:// 例如 baseurl=file:///mnt
2.網絡源 http:// 例如 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/)
使用光盤中的rpm包做爲yum倉庫
第一步:掛載光盤
# mount /dev/cdrom /media
第二步:備份yum自帶的配置文件
# cd /etc/yum.repos.d
# mkdir bak
# mv *.repo bak
第三步:建立yum的配置文件,使用光盤做爲yum倉庫
# vim 1.repo
[myrepo]
name=my repo
enabled=1
gpgcheck=0
baseurl=file:///media
第四步:執行yum命令檢測結果
# yum clean all <<< 清空yum緩存的所有數據
# yum repolist <<< 檢查yum倉庫中有多少個可用的rpm包
國內主流的網絡yum倉庫地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com
進入網址的子級頁面直到出現repodata的頁面,將這個頁面的網址複製放到baseurl後面
rpm的yum源
centos提供的
epel提供的:
例子:使用aliyun提供的epel 和centos的yum源
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim new.repo
[centos]
name=centos repo
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
[epel]
name=epel repo
enabled=1
enabled=1
baseurl=http://xxxx