Linux系統 rpm 與 yum的區別
前言
在Linux中,如何管理和更新系統上的軟件是很重要的,可以很容易的通過命令行,或是圖形功能來進行管理。
1、認識 RHEL 軟件的命名規則
軟件管理 - 源碼
Tar ball 文檔
源碼打包
自行編碼
門檻很高
不易出錯、不好管理
軟件管理 - RPM 軟件包
Red Hat 提出
將源碼先編程成 RPM 軟件包
安裝時,只需要解開軟件包,復制到適當位置,不用再編程
容易管理
方便更新、移除
認識 RHEL 軟件的命名規則
命名規則:A-B-C.D.E
-
-
- A:軟件名,可用
- B:版本
- C:發行次數,RHEL 習慣加上 el# 字樣,# 代表 RHELv#
- D:搭配規格,有noarch
- E:有 .rpm 與 .scr.rpm 兩種
-
命名規則對照範例:
2、管理系統軟件方法
安裝:安裝軟件
更新:更新軟件
有舊版
無舊版
刪除:刪除軟件
查詢:查詢軟件
查詢軟件信息,如官網等
查詢軟件安裝清單
查詢軟件說明文件
查詢軟件配置文件
審核 :審核軟件
安裝軟件前審核,如比對數字指紋
安裝軟件後審核,如檢查是否有配置一場改動
3、使用 rpm 與 yum 的不同方法管理軟件
RPM 軟件包的相依性
- 有些 RPM 軟件包,不能單獨安裝,必須要先安裝別的 RPM 軟件包,才能安裝,這種特征,稱之為 RPM 軟件包相依性
- 並不是全部的 RPM 軟件包,都有相依性的需求
- rpm 命令安裝時,不檢查相依性的問題
- yum 命令安裝時,自動解決相依性的問題
使用 rpm 與 yum 的不同方法管理軟件
- yum 命令行使用前提:有正確的 .repo
- 安裝:rpm vs yum
- 更新:rpm vs yum
- 刪除:rpm vs yum
- 查詢:rpm vs yum
- 審核:rpm vs yum
使用 yum 前,先正確地設置軟件庫
- 軟件庫:repository
- 設定路徑:/etc/yum.repos.d
- .conf:可任意文件名
安裝:rpm 與 yum
rpm:
# rpm -ivh /path/to/.rpm
# rpm --force -ivh /path/to/.rpm --force 強制安裝
# rpm --nodeps -ivh /path/to/.rpm --nodeps:不考慮相依屬性的關系
一般 --force 和 --nodeps 一起用
rpm -ivh /path/to/.rpm --force --nodeps
查出 mysql rpm 包的具體名稱,使用命令:rpm -qa | grep mysql
yum:
# yum -y install 軟件名
# yum -y reinstall 軟件名
# yum -y localinstall /path/to/.rpm
更新:rpm 與 yum
rpm:
# rpm -Uvh /path/to/.rpm 沒裝過,裝;裝過了,升級
# rpm -Fvh /path/to/.rpm 沒裝過,不裝;裝過了,升級
更新 kernel 軟件應註意事項
yum:
# yum -y update 軟件名
# yum -y update
不指定軟件名,會更新全部
刪除:rpm 與 yum
rpm:
# rpm -e 軟件名
yum:
# yum -y remove 軟件名
查詢:rpm 與 yum
rpm:
# rpm -q 軟件包:查詢該軟件包
# rpm -qa :查看已安裝的所有軟件包,常搭配管道使用,例如:rpm -qa | grep 軟件包
# rpm -ql 軟件名 :列出套件文件列表
# rpm -qi 軟件名 :查看軟件安裝信息
# rpm -qc 軟件名 :只查看軟件的配置文件
# rpm -qf 軟件名 :反查出該文件出自哪個文件
yum:
# yum -y list 軟件名:顯示出 yum 源涉及到所有包,包括已安裝的和未安裝的
# yum -y provides “/path/to/file” :反查文件出自哪個包
# yum -y info 軟件名 :顯示出指定的軟件包的描述信息和概要信息
審核:rpm 與 yum
安裝軟件前
rpm:
# rpm --import /etc/pki/rpm/RedHat-release-key-file
# rpm -K /path/to/.rpm
yum:
# yum -y install | update 軟件名
# /etc/yum.repos.d/*.conf :可任意文件名
gpgcheck=file:///path/to/.rpm-sign-gpg-key
該 key 文件可以是 Red Hat 或是第三方簽署
安裝軟件後
rpm:
# rpm -V 軟件名
yum:
# yum verify-rpm 軟件名
Linux系統 rpm 與 yum的區別