1. 程式人生 > >軟體包的安裝與管理

軟體包的安裝與管理

一•軟體包的封裝型別
(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
[

[email protected] ~]# 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:檢視軟體包是否被安裝
[[email protected]

~]# rpm -q elinks
package elinks is not installed
② -qa:顯示當前系統中所有RPM安裝的軟體
[email protected] ~]# 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:查詢指定軟體的詳細資訊和描述
[[email protected] ~]# 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:檢視軟體包即將安裝到哪些目錄
[
[email protected]
~]# rpm -qlwget
/etc/wgetrc
/usr/bin/wget
/usr/share/doc/wget-1.14
/usr/share/doc/wget-1.14/AUTHORS
//省略部分資訊
⑤ -qf:檢視某個檔案或者命令是由哪個軟體安裝的
[[email protected] ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-1.el7.x86_64

2)查詢rpm包檔案中的相關資訊
①-qpi:未安裝的軟體包的名稱,版本,許可協議,用途描述等詳細資訊。
[[email protected] 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:軟體包準備要安裝的所有目標目錄,檔案列表。
[[email protected] 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 以人類可讀的方式顯示,以###表示安裝進度
[[email protected] 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:解除安裝指定名稱的軟體包
[[email protected] 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:在安裝或升級,解除安裝一個軟體包時,不檢查與其他軟體包的依賴關係。
[[email protected] 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資訊庫,用於軟體的修復
[[email protected] Packages]# rpm -rebuilddb
② --import:用於匯入廠商金鑰
[[email protected] /]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7