【記錄】linux軟件管理 RPM 和 YUM
文章目錄
時間 2020-06-08 |
---|
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"
- yum update是更新下載源裏面的metadata,包括這個源有什麼包、每個包什麼版本之類的
- 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/