Linux軟件管理RPM 和 YUM

【記錄】linux軟件管理 RPM 和 YUM

時間 2020-06-08
linux 軟件包格式

1 可直接執行: RPM DEB

2 源碼形式: gzip bzip2

一、RPM 軟件包管理

1 簡介

RPM (RetHat Package Manager),紅帽軟件包工具。

RPM 可以建立統一的數據庫文件,詳細記錄軟件信息,並能夠自動分析依賴關係,但並不能解決依賴文體,就是它不會幫你順便下載依賴包

2 安裝與卸載 RPM 包

安裝RPM包 rpm -ivh filename.rpm i (install) v (可視化,顯示詳細信息) h(顯示安裝進度)
更新RPM包 rpm -Uvh 軟件名稱 rpm會刪除舊版本軟件(僅保留配置文件),再安裝新的軟件版本
卸載RPM包 rpm -e 軟件包名稱 rpm -e ftp 卸載 ftp ,具體版本號可以不寫

demo: 安裝bind-9.9.4-29.el7.x86_64.rpm軟件包,並顯示安裝過程中的詳細信息和水平進度條。

[root@rhel Packages]# rpm -ivh bind-9.9.4-29.el7.x86_64.rpm

3 軟件包信息查詢

格式 <rpm -q>

查詢軟件包

命令 解釋 filename 具體指
rpm -q filename.rpm query 查詢是否安裝該軟件包 一個具體軟件
rpm -qa all 查詢系統中已經安裝的所有軟件包 系統已安裝的全部軟件
rpm -qi filename.rpm information查詢某一軟件包的詳細信息 一個具體軟件
rpm -ql filename.rpm 查詢某一軟件的安裝路徑,與文件列表 一個具體軟件
rmp -qc filename.rpm config 查詢某一軟件的配置文件 一個具體軟件
rpm -qf filename file 查詢指定文件由哪個軟件所安裝 一個具體文件

4 安全驗證

RPM提供的驗證功能可以隨時追蹤軟件的狀態,使用rpm -V 會提示哪個軟件的狀態被修改,未被篡改的軟件使用該命令將無任何提示

rmp   -V  bash
##可能出現的字符及含義
5   # MD5值已改變
S   # 文件大小已改變
L   # 鏈接文件的源已改變
T   # 文件最後修改時間已改變
D   # 設備改變
U   # 用戶發生改變
G   # 組發生改變
M   # 包括權限與類型在內的模式已改變
?  # 不可讀的文件

二、YUM 軟件包管理

1 簡介

Yum (Yellow dog Updater, Modified) 黃狗升級器,更新、管理軟件的命令,紅帽專屬。能夠從指定的服務器自動下載RPM包並安裝,可以處理依賴性關係,並且一次性安裝所有依賴的軟件包

yum 命令查詢repo上配置的地址去取相應的rpm包進行安裝。

配置文件 /etc/yum.repos.d/

注意這個目錄下面不要有重複的.repo文件。

yum 基本工作機制

服務器端:在服務器上面存放了所有的RPM軟件包,然後以相關的功能去分析每個RPM文件的依賴性關係,將這些數據記錄成文件存放在服務器的某特定目錄內。

客戶端:如果需要安裝某個軟件時,先下載服務器上面記錄的依賴性關係文件(可通過WWW或FTP方式),通過對服務器端下載的紀錄數據進行分析,然後取得所有相關的軟件,一次全部下載下來進行安裝

2 YUM 源

yum源是網址呀,是yum命令去尋找RPM包的地圖。

配置yum源(centos7)

(0)先備份原來的源

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo_bak
(1)網易
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

yum clean all

yum makecache
(2)阿里
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache
(3)清華源

清華大學鏡像倉庫:https://mirrors.cnnic.cn/

第一步:備份原來/etc/yum.repos.d文件

第二步:將清華源提供的網址寫入/etc/yum.repos.d文件。

第三步:清除緩存,生成yum緩存

yum clean all     # 清除系統所有的yum緩存
yum makecache     # 生成yum緩存

參考博客: https://blog.csdn.net/xiaojin21cen/article/details/84726193

(4)epel
yum -y install epel-release

yum clean all

yum makecache
(5)查看YUM源
查看所有的YUM源
yum   repolist all

查看可用的YUM源
yum   repolist  enabled

3 YUM 增刪改查軟件包

(1)參數介紹

格式 : yum (選項)(參數)

-y    對所有的提問都回答 yes
-c    指定配置文件
-q    安靜模式
-v    詳細模式
-d    設置調試等級
-e    設置錯誤等級(0-10)
-R    設置yum 處理一個命令的最大等待時間
-C    完全從緩存中運行,而不去下載或者更新任何頭文件
-h    顯示幫助信息

(2)安裝
安裝軟件包(單獨安裝)
yum  install  foo
#安裝web  server  軟件包組
yum   groupinstall  "Web server"

groupinstall是一種快捷安裝方式,它會將包組中的所需要的軟件包一次性全部安裝。如,上例中的“Web server”包組可能會有 httpd、crypto-utils等軟件包

(3)更新、升級

對於已安裝的程序,可以進行升級操作

#檢測可用更新
yum   check-ipdate
#更新
yum  update  foo
或者  yum  upgrade  foo
# 升級Web server  軟件包組
yum   groupupdate  "Web  server"
  1. yum update是更新下載源裏面的metadata,包括這個源有什麼包、每個包什麼版本之類的
  2. yum upgrade會根據update後的元信息對軟件包進行升級
(4)刪除
# 刪除軟件
yum   remove  foo
# 刪除 Web  server 軟件包組
yum    groupremove  "Web server"
(5)查找

通過search 命令可以查找軟件包,而info 命令可以顯示軟件包信息

# 查找名叫foo 的軟件包
yum   search  foo
# 顯示名爲 foo 軟件的信息
yum   info  foo
# 顯示軟件包foo的依賴關係
yum   deplist foo
# 顯示軟件包組 Web server 的信息
yum   groupinfo  "Web server"
# 顯示所有已經安裝和可以安裝的程序包
yum  list
# 顯示已經安裝的軟件包
yum   list  installed

(6) 清除緩存

yum   clean  packages  #清除緩存目錄下的軟件包

yum    clean  headers  # 清除緩存目錄下的 headers

 yum clean, yum clean all # (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers 

我好迷呀

yum clean all

yum makecache

yum -y install gcc

莫名奇妙裝不好寶塔面板,莫名其妙又裝好了。

Bt-Panel: http://ip地址:8888/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章