這是一個數據庫管理工具,能夠經過讀取數據庫,判斷軟件是否已經安裝,若是已經安裝能夠讀取出來全部文件的所在位置等,並能夠實現刪除這些文件。
rpm能夠完成的操做
安裝軟件
卸載軟件
查詢軟件信息
升級、降級
檢驗
打包程序
rpm僅僅能管理符合rpm格式的程序包,不能管理源碼格式的程序
程序的格式
1)源碼格式的程序:都是以壓縮方式呈現的(後綴都是.tar.gz|bz2)
2)rpm格式的程序:這都是編譯之後的程序 (後綴都是.rpm)
軟件安裝方式的總結:
安裝軟件方式有以下幾種
方式1:編譯安裝
將源碼程序按照需求進行先編譯,後安裝
缺點:
安裝過程複雜,並且很慢
優勢:
安裝過程可控,真正的按需求進行安裝(安裝位置、安裝的模塊均可以選擇)
方式2:rpm安裝(用rpm來安裝rpm後綴的安裝包)
優勢:
安裝和卸載過程很是方便
缺點:
安裝過程不可控(安裝位置,安裝那些功能模塊)
rpm包的依賴關係很是複雜
方式3:yum安裝
yum安裝,其實就是自動分析rpm包的依賴關係,而後按照須要的順序依次安裝
方式4:綠色安裝
rpm的操做:
一 安裝rpm包
格式:rpm -ivh 軟件包名
選項
-i:安裝軟件
-v:顯示安裝過程
-h:用#表示安裝進度(# 2%)
-vv:顯示更詳細的安裝過程信息
-vvv:顯示更更詳細的安裝過程信息
二 卸載rpm
格式:rpm -e 軟件名
選項:
-e:卸載軟件
例子:卸載軟件包ken
# rpm -e ken
三 查詢已安裝的rpm包
格式:rpm -q 軟件名
選項:
-q:查看一個已經安裝的軟件
-a:查看全部已經安裝的軟件all
-l:顯示軟件安裝完成之後生成文件列表(全部文件)list
-i:查看軟件包的相關信息 info
-d:顯示該軟件所生成的說明性質的文檔列表docfiles
-c:查看軟件所生成的配置文件列表configfiles
--scripts:查看軟件相關的腳本
補充:
安裝前腳本(preinstall)
安裝後腳本(postinstall)
卸載前腳本(preuninstall)
卸載後腳本(postuninstall)
例子:查看ken是否安裝
# rpm -q ken
例子:查看當前系統全部已經安裝的軟件
# rpm -qa
四 查看文件是哪一個軟件生成的
rpm -qf /path/to/file
五 升級軟件
選項
-U:升級或安裝軟件
-F:僅僅是升級操做
使用格式;
rpm -Fvh 軟件包名
rpm -Uvh 軟件包名
軟件管理yum:
一 yum工做原理
1. 須要首先建立一個yum倉庫(rpm包倉庫、軟件倉庫)
1)倉庫其實就是一個目錄
2)倉庫中存放的是rpm包
3)倉庫中還保存了一個文件,文件中記錄了該倉庫中全部rpm包的元數據信息
4)元數據信息包括
軟件名
軟件版本
軟件是否已經安裝
軟件的依賴關係
2. 用 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倉庫
本地:將本地的一個目錄作成yum倉庫,只有當前系統能夠
網絡:經過網絡將服務器上的一個目錄做爲yum倉庫,網絡中的所有主機均可以用
使用yum倉庫的方式,就是修改yum的配置文件
yum的配置文件
主:/etc/yum.conf
子:/etc/yum.repos.d/*.repo
/etc/yum.conf文件
cachedir=/var/cache/yum/$basearch/$releasever
指定緩存文件的保存位置,默認:/var/cache/yum/x86_64/7/
keepcache=0
指定是否保留緩存文件
用yum安裝軟件過程當中會從yum倉庫下載並緩存多個資源
1)會將yum倉庫的元數據文件緩存到配置文件所指定的路徑中
2)會將要安裝的軟件及其依賴的軟件一併緩存到配置文件指定的目錄中
三 yum配置文件的構成
[localRpm] <<< 指定yum倉庫的id,能夠隨便寫,可是中間不能有空格
name=xxx <<< 指定yum倉庫的名稱,能夠隨便寫
enabled=0|1 <<< 指定是否使用該yum倉庫,0表示不使用;1表示使用
gpgcheck=0|1 <<< 指定是否對rpm包作完整性和來源合法性驗證,0表示不作驗證;1表示必須作驗證
gpgkey= <<< 指定公鑰文件(若是gpgcheck=1,那麼該項不能省略)
baseurl= <<< 指定yum倉庫的url
四 yum倉庫的url的表達方式
注意:在指定yum倉庫的時候,其實不是指向rpm包的目錄,而是執行repodata所在目錄
本地yum倉庫
file://
例子:好比個人yum倉庫 /myrpm,此時yum倉庫的表示方式就是file:///myrpm
網絡yum倉庫
http://
五 建立本地yum倉庫
使用光盤中的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文件
vim local.repo
[ken]
name=ken1
enabled=1
gpgcheck=0
baseurl=file:///mnt #這裏寫的路徑是repodata所在的路徑
掛在光盤
mount /dev/cdrom /mnt
第四步:執行yum命令檢測結果
# yum clean all <<< 清空yum緩存的所有數據
# yum repolist <<< 檢查yum倉庫中有多少個可用的rpm包
六 yum的使用
1. 安裝軟件
yum -y install 軟件1 軟件2 軟件3 ....
2. 卸載軟件
yum -y remove 軟件1 軟件2 軟件3 ....
3. 管理包組
grouplist:查看系統中的所有的包組
groupinfo 包組名:查看指定包組的信息(包組的做用、包含的軟件)
groupinstall 包組名:安裝指定的包組
groupremove 包組名:卸載指定的包組
CentOS7: 命令行界面升級爲圖形化界面
yum groupinstall "X Window System" -y
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y
這時,咱們能夠經過命令 startx 進入圖形界面,第一次進入會比較慢,請耐心等待。(可能須要重啓,命令爲reboot)
4. 管理yum的緩存數據
clean [ packages | metadata | all ]
all:清除全部數據
packages:僅僅清除rpm包
metadata:僅僅清理緩存元數據
5. 查看全部已經安裝和還沒有安裝rpm包
yum list all 或者yum list 能夠列出全部的軟件包
6. yum list available:僅僅顯示能夠安裝可是還沒有安裝的rpm包
7. yum list installed:僅僅顯示已經安裝rpm包
@:表示已經安裝rpm
8. 查看yum倉庫的信息
yum repolist
七 網絡yum源的使用方式
國內主流的網絡yum倉庫地址
mirrors.aliyun.com
mirrors.163.com
mirrors.sohu.com
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=http://mirrors.163.com
[epel]
name=epel repo
enabled=1
enabled=1
baseurl=http://xxxx