一•軟體包的封裝類型
(1) RPM軟體包:擴充名為“.rpm”,在使用RPM軟體包管理器機制的Linux作業系統中安裝。需要使用系統的rpm指令。
(2) DEB軟體包:擴充名為“.deb”在使用DPKG包管理器機制的Linux作業系統中進行安裝,需要使用系統中的dpkg指令。
(3) 源代碼軟體包:程式員開發完成的原始代碼,一般被制作成“.tar.gz”.tar.bz2”等格式的壓縮封包件,安裝源碼軟體包需要使用相應的編譯工具。
(4) 附帶安裝程式的軟體包:擴充名不一,以TarBall格式居多,軟體中會提供用于安裝的可執行程式或腳本檔案。
二•使用RPM包管理工具
(1) RPM包格式
① 獲得關于rpm指令的詳細幫助資訊
Man rpm
[root@localhost ~]# man rpm
RPM(8) System Manager's Manual RPM(8)
NAME
rpm - RPM Package Manager
SYNOPSIS
QUERYING AND VERIFYING PACKAGES:
rpm {-q|--query} [select-options] [query-options]
//省略部分資訊
(2) 查詢RPM軟體包資訊
1)已安裝
① q:檢視軟體包是否被安裝
[root@localhost ~]# rpm -q elinks
package elinks is not installed
② -qa:顯示目前系統中所有RPM安裝的軟體
root@localhost ~]# rpm -qa
gnutls-dane-3.3.24-1.el7.x86_64
mesa-private-llvm-3.8.1-1.el7.x86_64
plymouth-theme-charge-0.8.9-0.26.20140113.el7.centos.x86_64
③ -qi:查詢指定軟體的詳細資訊和描述
[root@localhost ~]# rpm -qi gcc
Name : gcc
Version : 4.8.5
Release : 11.el7
Architecture: x86_64
Install Date: Fri 11 May 2018 12:43:34 AM CST
④ -ql:檢視軟體包即将安裝到哪些目錄
[root@localhost ~]# rpm -qlwget
/etc/wgetrc
/usr/bin/wget
/usr/share/doc/wget-1.14
/usr/share/doc/wget-1.14/AUTHORS
⑤ -qf:檢視某個檔案或者指令是由哪個軟體安裝的
[root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-1.el7.x86_64
2)查詢rpm封包件中的相關資訊
①-qpi:未安裝的軟體包的名稱,版本,許可協定,用途描述等詳細資訊。
[root@localhost Packages]# rpm -qpi ethtool-4.5-3.el7.x86_64.rpm
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Name : ethtool
Epoch : 2
Version : 4.5
Release : 3.el7
Install Date: (not installed)
②-qpl:軟體包準備要安裝的所有目标目錄,檔案清單。
[root@localhost Packages]# rpm -qpl ethtool-4.5-3.el7.x86_64.rpm
/usr/sbin/ethtool
/usr/share/doc/ethtool-4.5
/usr/share/doc/ethtool-4.5/AUTHORS
(3) 安裝,更新,解除安裝RPM軟體包
① -i:--install 安裝
② -v:--verbose 顯示安裝過程程詳細資訊
③ -h:--human 以人類可讀的方式顯示,以###表示安裝進度
[root@localhost Packages]# rpm -ivh ethtool-4.5-3.el7.x86_64.rpm
Preparing... ################################# [100%]
package ethtool-2:4.5-3.el7.x86_64 is already installed
④ --test:隻是測試安裝,并不會真正安裝軟體
⑤ -e:解除安裝指定名稱的軟體包
[root@localhost Packages]# rpm -e ethtool-4.5-3.el7.x86_64.rpm
error: package ethtool-4.5-3.el7.x86_64.rpm is not installed
⑥ -U:更新軟體包,如果沒有安裝功能等同與-i
⑦ -F:輔助選項,檢查并且更新某個軟體包,如果軟體沒有被安裝則放棄
A.--force:強制替換現有軟體,例如低版本替換高版本時使用。
B.—nodeps:在安裝或更新,解除安裝一個軟體包時,不檢查與其他軟體包的依賴關系。
[root@localhost Packages]# rpm -F ethtool-4.5-3.el7.x86_64.rpm
(4)維護rpm資料庫
①--rebuilddb/initdb:重建rpm資訊庫,用于軟體的修複
[root@localhost Packages]# rpm -rebuilddb
② --import:用于導入廠商密鑰
[root@localhost /]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7