天天看點

軟體包的安裝與管理

一•軟體包的封裝類型

(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

繼續閱讀