rpm命令介紹

簡介

軟件包管理器的核心功能:

  1. 製作軟件包;
  2. 安裝、卸載、升級、查詢、校驗;

市面上常見的軟件包管理工具:

1. Redhat, SUSE: `RPM`
    - 由 RedHat 公司所研發開始名爲(RedHat Package Manager),後因被納爲標準包管理器,後改名爲(RPM is Package Manager)包括 Fedora, CentOS, SUSE 等等,其前端工具有yum
2. Debian: `dpt`
    - 由 Debian Linux 社羣所開發出來的, 只要是衍生版 Debian 的其他 Linux distributions 大多使用 dpkg 這個機制來管理軟件的, 包括B2D, Ubuntu 等等,其前端工具有apt-get
  • 前端工具:yum, apt-get
  • 後端工具:RPM, dpt

    rpm功能:
    安裝
    查詢
    卸載
    升級
    校驗
    數據庫的重建
    驗正數據包


rpm命名格式:

  1. 包組成部分
    • 主包:
      • bind-9.7.1-1.el5.i586.rpm
    • 子包:
      • bind-libs-9.7.1-1.el5.i586.rpm
      • bind-utils-9.7.1-1.el5.i586.rpm
  2. 包名格式:
    • name-version-release.arch.rpm
    • bind-major.minor.release-release.arch.rpm

主版本號:重大改進
次版本號:某個子功能發生重大變化
發行號:修正了部分bug,調整了一點功能

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、重建數據庫

rpm 
    --rebuilddb: 重建數據庫,一定會重新建立;
    --initdb:初始化數據庫,沒有才建立,有就不用建立;

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

加密類型:
對稱:加密解密使用同一個密鑰
公鑰:一對兒密鑰,公鑰,私鑰;公鑰隱含於私鑰中,可以提取出來,並公開出去;
單向

包完整性:通過單向加密機制(md5|sha1)
來源合法性:通過公鑰加密機制(RSA)

命令: gpg(加密工具), pgp(加密規範)   gpg使用pgp加密規範

檢查順序:

    1、導入製作者的公鑰,CentOS發行版的公鑰在iso文件中; 
    2、導入密鑰命令:rpm --import /path/to/gpg-key-file
    3、檢查: rpm -K /path/to/package_file
            rpm --checksig /path/to/package_file
                --nosignature: 不檢查來源合法性
                --nodigest: 不檢查完整性,只檢查來源合法性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章