Linux RPM 命令詳解及原始碼編譯安裝

2021-09-21 00:23:53 字數 3523 閱讀 1458

rpm 是rpm package manager(rpm軟體包管理器)的縮寫。

rpm檔案在linux系統中的安裝最為簡便。

一.rpm:

主要工作內容為安裝,查詢,解除安裝,公升級,校驗,資料庫的重建,驗證資料報等。

2.   rpm  lib資料庫

資料庫為 /var/lib/rpm

3.    rpm命名

包的組成部分

主包:bind-版本號

如:bind-9.1.1-1.i586.el5.rpm

子包:bind-libs-9.1.1-1.i586.el5.rpm

bind-utils-9.1.1-1.i586.el5.rpm

包名格式:

name-version-release.arch.rpm

bind軟體名-主版本號.次版本號.發行號.架構平台.rpm

主版本號:重大改進

次版本號:某個子功能發生重大變化

發行號:修正了部分bug,調整了一點功能

二:1. rpm安裝命令

rpm -i  /path/file檔案

-v 以#顯示進度,每個#表示2%;

-h:顯示詳細的資訊過程

-vv:顯示更詳細的過程

rpm -ivh  /path/to/file

--nodeps:忽略依賴關係;

如:rpm -ivh gcc-4.4.7-3.el6.x86_64.rpm

--replacepkgs:重新安裝,替換原有安裝    

--force:強行安裝,可以實現重灌或者降級

2. rpm包查詢

rpm  -q  file_name:檢視指定的包是否已經安裝

rpm  -qa :查詢已經安裝的所有包

rpm  -qa |  grep file_name: 查詢file_name是否已經安裝,包括那些包

rpm  -qi  file_name:查詢指定包的說明資訊

rpm  -ql file_name:查詢指定包安裝後生成的檔案列表  

rpm  -qf /path/to/file_name: 查詢指定的檔案是由哪個rpm包安裝生成的

rpm  -qc file_name:查詢指定安裝包的配置檔案

rpm  -qd package_name:查詢指定安裝包的幫助檔案

rpm   -q  --scripts  package_name:查詢指定安裝包中包含的指令碼

如果某個rpm包尚未安裝,我們需查詢其說明資訊,安裝以後生成的檔案

rpm -qpi   /path/to/package_name

rpm  -qpl  /path/to/package_name    

3. rpm包公升級

rpm  -uvh  /path/to/package_name   如果裝有老版本的,則公升級,否則安裝

rpm  -fvh  /path/to/package_name   如果裝有老版本的,則公升級,否則退出

rpm  --oldpackage: 降級

4. rpm解除安裝

rpm  -e package_name :

rpm   --nodeps :忽略依賴關係

rpm  -e  --nodeps package_name: 忽略依賴關係解除安裝

5. rpm校驗

rpm -v package_name :校驗指定rpm包

6. 重建資料庫

rpm  --rebuilddb:重建資料庫,一定會重新建立

rpm --initdb:初始化資料庫 ,沒有才建立,有就不用建立資料庫

7. rpm檢驗**合法性,及軟體包完整性

[root@localhost zhang]# ls /etc/pki/

[root@localhost zhang]# ls /etc/pki/rpm-gpg/rpm-gpg-key-redhat-release

[root@localhost zhang]#rpm --import  /etc/pki/rpm-gpg/rpm-gpg-key-redhat-release:匯入金鑰檔案

rpm -k /papt/to/package_name   驗證rpm包

rsa,gpg:驗證**合法性,也即驗證簽名,可以使用--nosignature,略過此項

sha1,md5:驗證軟體包的完整性,可以使用--nodigest,略過此項

列子:以 gcc-4.4.7-3.el6.x86_64.rpm軟體包為例  

[root@localhost zhang]# rpm --import /etc/pki/rpm-gpg/rpm-gpg-key-redhat-release

[root@localhost zhang]# rpm -k gcc-4.4.7-3.el6.x86_64.rpm

gcc-4.4.7-3.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 ok

[root@localhost zhang]# rpm -k --nodigest gcc-4.4.7-3.el6.x86_64.rpm

gcc-4.4.7-3.el6.x86_64.rpm: rsa (md5) pgp ok

[root@localhost zhang]# rpm -k --nosignature gcc-4.4.7-3.el6.x86_64.rpm

gcc-4.4.7-3.el6.x86_64.rpm: sha1 md5 ok

configure指令碼的通用功能:

我們需要定義的配置:

1、指定安裝路徑

--prefix=/usr/local/package_name

2、指定配置檔案路徑

--sysconfdir=/etc/package_name

3、指定啟用/禁用的特性:

--enable-feature  例如:--enable-fpm

--disable-feature 例如:--disable-socket

4、指定所依賴功能、程式或檔案

--with-function:啟用某功能

--without-function: 禁用某功能

不同的程式,其configure指令碼功能不同,需獲取幫助

./configure --help   

二進位制程式:

#vim /etc/profile.d/apache.sh

path=/usr/local/apache/bin:/usr/local/apache/sbin:$path

export path

標頭檔案輸出給系統

庫檔案輸出

讓系統重新生成庫檔案路徑快取

#ldconfig

匯出man檔案

#vim /etc/man.config

manpath /usr/local/apache/man

解除安裝則刪除安裝目錄即可

Linux rpm命令詳解

rpm命令是rpm軟體包的管理工具。rpm原本是red hat linux發行版專門用來管理linux各項套件的程式,由於它遵循gpl規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。rpm套件管理方式的出現,讓linux易於安裝,公升級,間接提公升了linux的適用度。用法 rpm 選項...

Linux rpm命令詳解

rpm命令是rpm軟體包的管理工具。rpm原本是red hat linux發行版專門用來管理linux各項套件的程式,由於它遵循gpl規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。rpm套件管理方式的出現,讓linux易於安裝,公升級,間接提公升了linux的適用度。用法 rpm 選項...

Linux rpm命令詳解

rpm命令是rpm軟體包的管理工具。rpm原本是red hat linux發行版專門用來管理linux各項套件的程式,由於它遵循gpl規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。rpm套件管理方式的出現,讓linux易於安裝,公升級,間接提公升了linux的適用度。用法 rpm 選項...