天天看點

rpm

1、安裝

rpm -i /PATH/TO/PACKAGE_FILE

-h: 以#顯示進度;每個#表示2%; 

-v: 顯示詳細過程

-vv: 更詳細的過程

rpm -ivh /PATH/TO/PACKAGE_FILE

--nodeps: 忽略依賴關系;

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

--force: 強行安裝,可以實作重裝或降級;

2、查詢

rpm -q PACKAGE_NAME: 查詢指定的包是否已經安裝

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

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

rpm -ql PACKAGE_NAME: 查詢指定包安裝後生成的檔案清單;

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

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

rpm -q --scripts PACKAGE_NAME: 查詢指定包中包含的腳本

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

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

rpm -qpi /PATH/TO/PACKAGE_FILE

rpm -qpl 

3、更新

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果裝有老版本的,則更新;否則,則安裝;

rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則更新;否則,退出;

      --oldpackage: 降級

4、解除安裝

rpm -e PACKAGE_NAME

--nodeps

5、校驗

rpm -V PACKAGE_NAME    

#效驗安裝包的檔案是否正确,是否缺失或者被更改

6、重建資料庫

/var/lib/rpm/    #資料庫

<code>[root@localhost yum.repos.d]</code><code># ls /var/lib/rpm/</code>

<code>Basenames     __db.003     Group         Packages        Requirename     Triggername</code>

<code>Conflictname  __db.004     Installtid    Providename     Requireversion</code>

<code>__db.001      Dirnames     Name          Provideversion  Sha1header</code>

<code>__db.002      Filedigests  Obsoletename  Pubkeys         Sigmd5</code>

name:包名

packages:軟體封包件名   都是二進制檔案

rpm 

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

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

7、檢驗來源合法性,及軟體包完整性;

加密類型:

1.對稱:加密解密使用同一個密鑰

2.公鑰:一對密鑰,公鑰,私鑰;公鑰隐含于私鑰中,可以提取出來,并公開出去;

3.單向:

# ls /etc/pki/rpm-gpg/              #存放密鑰

RPM-GPG-KEY-redhat-release

rpm -K /PAPT/TO/PACKAGE_FILE

dsa, gpg: 驗正來源合法性,也即驗正簽名;可以使用--nosignature,略過此項

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

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 導入密鑰檔案

先導入密鑰,再驗證。導入的是紅帽的密鑰,隻能驗證紅帽的rpm包

本文轉自 chomperwu 51CTO部落格,原文連結:http://blog.51cto.com/chomper/1690897,如需轉載請自行聯系原作者