天天看點

RPM安裝軟體包

軟體包的安裝

     rpm:  rpm package manager

         使用rpm安裝軟體包時,會出現軟體包以來關系,甚至會循環依賴

軟體包

 二進制檔案 /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin

 配置檔案(文本)

 庫檔案(二進制)

 文檔 (文本)

源代碼包

 軟體包的安裝方式

  1.手動變異安裝源代碼

  2.二進制格式的軟體包

    解壓可直接使用

rpm 管理軟體包 (www.rpmfind.net)

  一般系統安裝檔案中提供的rpm包在一下4個目錄中

   1.server

   2.vt (virtualization technology)

   3.cluster

   4.clusterstorge

rpm包的檔案名格式

  包名-version-release.arch.rpm

   version包括major(主版本号) minor(此版本号)modify(修正号)

   release:發行号

   arch:平台 例如 i386

使用rpm指令管理軟體包

1.安裝

   rpm [options] 完整路徑(最後帶的檔案名而不是包名)

      -i    install

      -v    顯示資訊 -vv顯示更詳盡的資訊 -vvv顯示更加詳細的資訊 最多支援3個v

      -h    列印#以顯示進度條, #代表2%

      -ivh   安裝是通常-ivh一起使用

      --nodeps 忽略依賴關系

      --force 強行安裝

2.解除安裝

   rpm  [options] 包名

      -e    解除安裝

      --nodeps 忽略依賴關系

3.更新

  rpm [options] 路徑(最後帶的是檔案名而非包名)

     -u   若老版本存在,則更新安裝

         若老版本不存在,則完全安裝

     -f   老版本必須存在,才能更新

     --force 強行更新

     -uvh,-fvh 通常一同使用

    attention:核心軟體包隻能安裝,不要更新

4.查詢

  rpm [options] 包名

     -q   查詢

     -qa   查詢所有安裝的軟體包

     -qa     *bash* 支援globbing通配 *?

     -qi   查詢詳細資訊關于某個包

     -ql   查詢安裝軟體包的所有檔案

     -qc   隻查詢安裝的配置檔案

     -qd   隻顯示安裝的文檔

     -q --scripts

         檢視安裝軟體包,執行了怎樣的腳本

     -qf   檔案

         查詢這個檔案來自哪個軟體包

     -q --changelog

         查詢每一次包作者改進軟體包都做了些什麼

    attention:以上均查詢的是已安裝的軟體包資訊,如果需要查詢未安裝軟體包的對應資訊,隻需在選項中使用-p 例如-qip 而後加上完整的路徑

         和檔案名

5.校驗

  rpm [options] 包名(已安裝)

    -v     檢驗

  顯示的第一列資訊共8位,........

    1.s size大小

    2.m mode 檔案權限 檔案類型

    3.5 md5算法 摘要檔案并加密的算法 用來檢測檔案是否改變過

    4.d 主裝置号和此裝置号

    5.l redlink 路徑不比對

    6.u 檔案屬主發生改變

    7.g 檔案屬組發生改變

    8.t 最進一次修改時間發生改變

6.rpm資料庫

 使用rpm -q 查詢來的資訊均依賴rpm資料庫,一旦損壞,則會帶來極大影響

 重建rpm資料庫

 #rpm --initdb 初始化資料庫,如果原來存在,則不覆寫

 #rpm --rebluiddb 重建資料庫,如果原來存在,則覆寫

7.公鑰私鑰

 私鑰加密,公鑰解密

 簽名:用私鑰加密md5值

 md5 128bit公鑰加密 sha1 160bit公鑰加密

     驗證軟體包的完整性,是否被人篡改過

 dsa gpg 驗證簽名

     驗證簽名,具有不可抵賴性

  1.導入公鑰

     rpm --import /etc/pki/rpm-gpg/rpm-gpg-key-redhat-release

  2.驗證

    rpm -k [options] 完整路徑(最後帶檔案名而不是包名)

        --nodigest 禁用sha1 md5等完整性驗證

        --nosignature 禁用dsa gpg等簽名驗證

繼續閱讀