RPM包管理功能全解?!镜谌堋?/h1>

CentOS系統上rpm命令管理程序包: 安裝、升級、卸載、查詢、校驗、數據庫維護

rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
    安裝:-i, --install
    升級:-U, --update, -F, --freshen
    卸載:-e, --erase
    查詢:-q, --query
    校驗:-V, --verify
    數據庫維護:-builddb, --initdb

安裝:
    rpm {-i|--install} [install-options] PACKAGE_FILE ...

        rpm -ivh PACKAGE_FILE...

        GENERAL OPTIONS:
            -v:verbose, 詳細信息
            -vv:更詳細的輸出

        [install-options]:
            -h:hash marks輸出進度條;每個#表示2%的進度;
            --test:測試安裝,檢查并報告依賴關系及沖突消息等;
            --nodeps:忽略依賴關系;不建議;
            --replacepkgs:重新安裝

            注意:rpm可以自帶腳本;
                四類: --noscripts
                    preinstall:安裝過程開始之前運行的腳本,%pre,--nopre
                    postinstall:安裝過程完成之后運行的腳本,%post,--nopost
                    preuninstall:卸載過程真正開始執行之前運行的腳本,%preun,--nopreun
                    postuninstall:卸載過程完成之后運行的腳本,%postun,--nopostun

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


升級:
    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
        -U:升級或安裝;
        -F:升級;

        rpm:-Uvh PACKAGE_FILE...
        rpm:-Fvh PACKAGE_FILE...

            --oldpackage:降級;
            --force:強制升級;

        注意:
            (1)不要對內核做升級操作;Linux支持多內核版本并存,因此,直接安裝新版本內核即可;
            (2)如果某源程序包的配置文件安裝后曾被修改過,升級時,新版本的程序包提供的同一個配置文件不會覆蓋原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

卸載:
    rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers][--test] PACKAGE_NAME ...

        --allmatches:卸載所有匹配指定名稱的程序包的各版本;
        --nodeps:忽略依賴關系;
        --test:測試卸載

查詢:
    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;
        --whatprovides:可以用來查詢哪個包提供了指定內容
        --whatrequires:可以用來查看哪些包依賴于指定內容
        -R, --requires:查詢指定的程序包的依賴關系;
        --scripts:查看程序包自帶的腳本片斷;

    用法:
        -qi PACKAGE, -qf FILE, -qc PACEAGE, -ql PACKAGE, -qd PACKAGE
        -qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE,...

校驗:
    rpm {-V|--verify} [select-options] [verify-options]

    S file Size differs
    M Mode differs (includes permissions and file type)
    5 digest (formerly MD5 sum) differs
    D Device major/minor number mismatch
    L readLink(2) path mismatch
    U User ownership differs
    G Group ownership differs
    T mTime differs
    P caPabilities differ

包來源合法性驗證和完整性驗證: 來源合法性驗證: 完整性驗證:

獲取并導入信息的包制作者的密鑰:
    對于CentOS發行版來說:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

驗證:
    (1)安裝此組織簽名的程序時,會自動執行驗證;
    (2)手動驗證:rpm -k PACKAGE_FILE

數據庫重建: rpm管理器數據庫路徑:/var/lib/rpm/ 查詢操作:通過此處的數據庫進行;

獲取幫助:
    CentOS 6:man rpm
    CentOS 7:man rpmdb

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

原創文章,作者:N24_xiaowen,如若轉載,請注明出處:http://www.www58058.com/60782

(0)
N24_xiaowenN24_xiaowen
上一篇 2016-11-26 11:54
小練習題。【第三周】
下一篇 2016-11-26 15:07

相關推薦

  • 2016/08/21:shell遺留select,包管理器rpm,yum

    select:搭配case更好的顯示選項     這個命令用來創建菜單,按數字排列,并等待用戶輸入,輸入對應數字,執行相應操作,更清楚明了     普通版:select var in list        &…

    Linux干貨 2016-08-24
  • corosync+pacemaker+drbd+mysql來實現mysql的高可用和數據的同步

    實現拓撲圖: 實驗流程: 先對兩主機安裝上corosync和pacemaker 兩主機安裝drbd服務,并且設置好drbd的組設備 選擇drbd主節點上,進行數據庫的初始化 進行資源的定義和配置 測試 實驗前,我們還需要做一些準備工作: 1、時間必須保持同步   使用ntp服務器 2、節點必須名稱互相通信    解析節點名稱 &…

    Linux干貨 2015-11-10
  • N22-第六周作業

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中 的以至少一個空白字符開頭的行的行首加# ~]# cp /etc/rc.d/init.d/functions /tmp~]# vim /tmp/functions %s@^[[:space:]]\+@#@g 2、復制/boot/grub/gru…

    Linux干貨 2016-10-17
  • N25-第一周

    一:計算機主要組成及其功能 計算機的主要組成部分可以歸納為以下五個部分:控制器、運算器、存儲器、輸入設備、和輸出設備。  功能介紹:         1.控制器          …

    Linux干貨 2016-12-04
  • N21沉舟第六周作業

    N21沉舟第六周作業 1、  復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit %s/^[[:space:]]\+/#&…

    Linux干貨 2016-08-08
  • inotify介紹及rsync + inotify 實時同步備份

    1、前言 rsync (remote sync)是一款非常好的數據同步工具,能夠通過對比同步雙方的數據變動,實現增量同步,還可以通過LAN/WAN實現遠程多臺主機間文件的同步,還能結合crond任務計劃來執行自動備份,又可以結合ssh實現遠程數據備份的安全,種種特性使他看起來相當優秀。但如果需備份數據十分龐大時,它的不足之處就顯現出來了,比如每次執…

    Linux干貨 2016-06-15

評論列表(1條)

  • luoweiro
    luoweiro 2016-11-30 22:34

    知識點總結的不錯,第三周的作業好像沒有完善。

欧美性久久久久