rpm包管理功能全解

  

 一、什麼是rmp包:

   RPM 是 Red Hat Package Manager 的縮寫,本意是Red Hat 軟件包管理,是Red Hat發行版本所使用的一個軟件管理工具,類似與windows的添加和刪除程序。

         windows中的安裝包格式有.exe,.msi等等,而在linux中的安裝包格式主要有2中:二進制包和源代碼包。二進制包是可以直接進行安裝的包,後綴名爲.rpm,源代碼包是需要進行編譯,然後才能安裝,後綴名爲src.rpm。


    二、rpm包管理的使用

       rpm包管理主要的功能有:安裝、升級、卸載、查詢和校驗、數據庫維護,接下來將對這些功能進行一一的解析,

       rpm命令的格式爲:rpm  [OPTIONS]  [PACKAGE_FILE]

        1、安裝:-i

         rpm {-i|--install} [install-options] PACKAGE_FILE

          [install-options] :

   -v:verbose,顯示安裝過程

   -h:hash marks輸出進度條;每個#表示2%的進度

   --test:測試安裝,檢查並報告依賴關係及衝突消息等;

   --nodeps:忽略依賴關係;不建議

   --replacepkgs:重新安裝

   --nosignature:不檢查包簽名信息,不檢查來源合法性;

   --nodigest:不檢查包完整性信息;

   常用命令:rpm  -ivh  PACKAGE_FILE 

 

   2、升級:-U,-F

    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

            -U:升級或安裝;

    -F:升級

           [install-options]: 

            --oldpackage:降級

            --force:強制升級;  

           常用命令:rpm  -Uvh PACKAGE_FILE ...

   rpm  -Fvh PACKAGE_FILE ...


   3、卸載:-e

     rpm {-e|--erase} [erase-options] PACKAGE_FILE ...

    [erase-options]:

     --allmatches:卸載所有匹配指定名稱的程序包的各版本; 

     --nodeps:忽略依賴關係

     --test:測試卸載,dry run模式


   4查詢:-q

    rpm {-q|--query} [select-options] [query-options]

    [select-options]

     PACKAGE_NAME:查詢指定的程序包是否已經安裝,及其版本; 

     -a, --all:查詢所有已經安裝過的包;

     -f  FILE:查詢指定的文件由哪個程序包安裝生成

     -p, --package PACKAGE_FILE:用於實現對未安裝的程序包執行查詢操作;

     --whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個程序包提供;

     --whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;

   

    [query-options]

      --changelog:查詢rpm包的changlog;

      -l, --list:程序安裝生成的所有文件列表;

      -i, --info:程序包相關的信息,版本號、大小、所屬的包組,等;

      -c, --configfiles:查詢指定的程序包提供的配置文件;

      -d, --docfiles:查詢指定的程序包提供的文檔;

      --provides:列出指定的程序包提供的所有的CAPABILITY;

      -R, --requires:查詢指定的程序包的依賴關係;

      --scripts:查看程序包自帶的腳本片斷;

     常用方法:

       -qi PACKAGE:程序包相關的信息

       -qf FILE:查詢指定的文件由哪個程序包安裝生成

       -qc PACKAGE:查詢指定的程序包提供的配置文件

       -ql PACKAGE:程序安裝生成的所有文件列表

       -qd PACKAGE:查詢指定的程序包提供的文檔

       -qpi PACKAGE_FILE:查詢沒有安裝的程序包的詳細信息

       -qpl PACKAGE_FILE:查詢沒有安裝的程序包將要生成的文件列表

       -qpc PACKAGE_FILE:查詢沒有安裝的程序包將要生成的配置文件


   5、校驗:-V

     rpm {-V|--verify} [select-options] [verify-options]

     功能主要驗證程序包的合法性和完整性。


   6、數據庫維護

    rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]

    --initdb:初始化數據庫,當前無任何數據庫可實始化創建一個新的;當前有時不執行任何操作;

    --rebuilddb:重新構建,通過讀取當前系統上所有已經安裝過的程序包進行重新創建;


  總結:rpm包管理程序有一個小的弊端就是:它不能夠完美的解決程序包安裝時的依賴關係,所以在rpm的基礎上產生了一個新的前端管理工具yum,我將在下一章講解yum的使用方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章