軟件包的安裝與管理
(1) RPM軟件包:擴展名為“.rpm”,在使用RPM軟件包管理器機制的Linux操作系統中安裝。需要使用系統的rpm命令。
(2) DEB軟件包:擴展名為“.deb”在使用DPKG包管理器機制的Linux操作系統中進行安裝,需要使用系統中的dpkg命令。
(3) 源代碼軟件包:程序員開發完成的原始代碼,一般被制作成“.tar.gz”.tar.bz2”等格式的壓縮包文件,安裝源碼軟件包需要使用相應的編譯工具。
(4) 附帶安裝程序的軟件包:擴展名不一,以TarBall格式居多,軟件中會提供用於安裝的可執行程序或腳本文件。
二?使用RPM包管理工具
(1) RPM包格式
① 獲得關於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]
rpm {-V|--verify} [select-options] [verify-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:查詢指定軟件的詳細信息和描述
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
Architecture: x86_64
Install Date: (not installed)
//省略部分信息
②-qpl:軟件包準備要安裝的所有目標目錄,文件列表。
[root@localhost Packages]# rpm -qpl 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
/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
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
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
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
(4)維護rpm數據庫
①--rebuilddb/initdb:重建rpm信息庫,用於軟件的修復
[root@localhost Packages]# rpm -rebuilddb
② --import:用於導入廠商密鑰
[root@localhost /]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7
軟件包的安裝與管理