linux中rpm命令的妙用

linux中rpm命令的妙用

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

安裝:

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

                -v: verbose

                -vv:

                -h: 以#顯示程序包管理執行進度 rpm -ivh PACKAGE_FILE …

                –test: 測試安裝,但不真正執行安裝;dry run模式

                –nodeps:忽略依賴關系 –replacepkgs | replacefiles

                –nosignature: 不檢查來源合法性

                –nodigest:不檢查包完整性

                –noscipts:不執行程序包腳本片斷

                              %pre: 安裝前腳本;–nopre

                              %post: 安裝后腳本;–nopost

                              %preun: 卸載前腳本;–nopreun

                              %postun: 卸載后腳本; –nopostun

rpm包升級
? 升級: ?rpm {-U|–upgrade} [install-options] PACKAGE_FILE… ?

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

                           upgrade:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則“安裝”

                           freshen:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則不執行升級操作

                           rpm -Uvh PACKAGE_FILE …

                           rpm -Fvh PACKAGE_FILE …

                           –oldpackage:降級

                           –force: 強行升級

包查詢
?    rpm {-q|–query} [select-options] [query-options] ?[select-options]

        -a: 所有包

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

        -p rpmfile:針對尚未安裝的程序包文件做查詢操作;

        –whatprovides CAPABILITY:查詢指定的CAPABILITY 由哪個包所提供

        –whatrequires CAPABILITY:查詢指定的CAPABILITY被 哪個包所依賴 ?

             rpm2cpio 包文件|cpio –itv 預覽包內文件 ?

             rpm2cpio 包文件|cpio –id  “*.conf” 釋放包內文件

        –changelog:查詢rpm包的changelog

        -c: 查詢程序的配置文件

        -d: 查詢程序的文檔

        -i: information

        -l: 查看指定的程序包安裝后生成的所有文件;

        –scripts:程序包自帶的腳本片斷

        -R: 查詢指定的程序包所依賴的CAPABILITY;

        –provides: 列出指定程序包所提供的CAPABILITY

 查詢用法:

         -qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE

         -qpi PACKAGE_FILE, -qpl PACKAGE_FILE, …

         -qa

卸載:

         rpm {-e|–erase} [–allmatches] [–nodeps] [-noscripts] [–notriggers] [–test] PACKAGE_NAME …

包校驗
?     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

rpm數據庫
?     數據庫重建:

                 /var/lib/rpm ?

        rpm {–initdb|–rebuilddb}

        initdb: 初始化

        如果事先不存在數據庫,則新建之

        否則,不執行任何操作

        rebuilddb:重建

        無論當前存在與否,直接重新創建數據庫


參數說明

  • -a  查詢所有套件。

  • -b<完成階段><套件檔>+或-t <完成階段><套件檔>+  設置包裝套件的完成階段,并指定套件檔的文件名稱。

  • -c  只列出組態配置文件,本參數需配合"-l"參數使用。

  • -d  只列出文本文件,本參數需配合"-l"參數使用。

  • -e<套件檔>或–erase<套件檔>  刪除指定的套件。

  • -f<文件>+  查詢擁有指定文件的套件。

  • -h或–hash  套件安裝時列出標記。

  • -i  顯示套件的相關信息。

  • -i<套件檔>或–install<套件檔>  安裝指定的套件檔。

  • -l  顯示套件的文件列表。

  • -p<套件檔>+  查詢指定的RPM套件檔。

  • -q  使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶。

  • -R  顯示套件的關聯性信息。

  • -s  顯示文件狀態,本參數需配合"-l"參數使用。

  • -U<套件檔>或–upgrade<套件檔> 升級指定的套件檔。

  • -v  顯示指令執行過程。

  • -vv  詳細顯示指令執行過程,便于排錯。

  • -addsign<套件檔>+  在指定的套件里加上新的簽名認證。

  • –allfiles  安裝所有文件。

  • –allmatches  刪除符合指定的套件所包含的文件。

  • –badreloc  發生錯誤時,重新配置文件。

  • –buildroot<根目錄>  設置產生套件時,欲當作根目錄的目錄。

  • –changelog  顯示套件的更改記錄。

  • –checksig<套件檔>+  檢驗該套件的簽名認證。

  • –clean  完成套件的包裝后,刪除包裝過程中所建立的目錄。

  • –dbpath<數據庫目錄>  設置欲存放RPM數據庫的目錄。

  • –dump  顯示每個文件的驗證信息。本參數需配合"-l"參數使用。

  • –excludedocs  安裝套件時,不要安裝文件。

  • –excludepath<排除目錄>  忽略在指定目錄里的所有文件。

  • –force  強行置換套件或文件。

  • –ftpproxy<主機名稱或IP地址>  指定FTP代理服務器。

  • –ftpport<通信端口>  設置FTP服務器或代理服務器使用的通信端口。

  • –help  在線幫助。

  • –httpproxy<主機名稱或IP地址>  指定HTTP代理服務器。

  • –httpport<通信端口>  設置HTTP服務器或代理服務器使用的通信端口。

  • –ignorearch  不驗證套件檔的結構正確性。

  • –ignoreos  不驗證套件檔的結構正確性。

  • –ignoresize  安裝前不檢查磁盤空間是否足夠。

  • –includedocs  安裝套件時,一并安裝文件。

  • –initdb  確認有正確的數據庫可以使用。

  • –justdb  更新數據庫,當不變動任何文件。

  • –nobulid  不執行任何完成階段。

  • –nodeps  不驗證套件檔的相互關聯性。

  • –nofiles  不驗證文件的屬性。

  • –nogpg  略過所有GPG的簽名認證。

  • –nomd5  不使用MD5編碼演算確認文件的大小與正確性。

  • –nopgp  略過所有PGP的簽名認證。

  • –noorder  不重新編排套件的安裝順序,以便滿足其彼此間的關聯性。

  • –noscripts  不執行任何安裝Script文件。

  • –notriggers  不執行該套件包裝內的任何Script文件。

  • –oldpackage  升級成舊版本的套件。

  • –percent  安裝套件時顯示完成度百分比。

  • –pipe<執行指令>  建立管道,把輸出結果轉為該執行指令的輸入數據。

  • –prefix<目的目錄>  若重新配置文件,就把文件放到指定的目錄下。

  • –provides  查詢該套件所提供的兼容度。

  • –queryformat<檔頭格式>  設置檔頭的表示方式。

  • –querytags  列出可用于檔頭格式的標簽。

  • –rcfile<配置文件>  使用指定的配置文件。

  • –rebulid<套件檔>  安裝原始代碼套件,重新產生二進制文件的套件。

  • –rebuliddb  以現有的數據庫為主,重建一份數據庫。

  • –recompile<套件檔>  此參數的效果和指定"–rebulid"參數類似,當不產生套件檔。

  • –relocate<原目錄>=<新目錄>  把本來會放到原目錄下的文件改放到新目錄。

  • –replacefiles  強行置換文件。

  • –replacepkgs  強行置換套件。

  • –requires  查詢該套件所需要的兼容度。

  • –resing<套件檔>+  刪除現有認證,重新產生簽名認證。

  • –rmsource  完成套件的包裝后,刪除原始代碼。

  • –rmsource<文件>  刪除原始代碼和指定的文件。

  • –root<根目錄>  設置欲當作根目錄的目錄。

  • –scripts  列出安裝套件的Script的變量。

  • –setperms  設置文件的權限。

  • –setugids  設置文件的擁有者和所屬群組。

  • –short-circuit  直接略過指定完成階段的步驟。

  • –sign  產生PGP或GPG的簽名認證。

  • –target=<安裝平臺>+  設置產生的套件的安裝平臺。

  • –test  僅作測試,并不真的安裝套件。

  • –timecheck<檢查秒數>  設置檢查時間的計時秒數。

  • –triggeredby<套件檔>  查詢該套件的包裝者。

  • –triggers  展示套件檔內的包裝Script。

  • –verify  此參數的效果和指定"-q"參數相同。

  • –version  顯示版本信息。

  • –whatprovides<功能特性>  查詢該套件對指定的功能特性所提供的兼容度。

  • –whatrequires<功能特性>  查詢該套件對指定的功能特性所需要的兼容度。


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

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-08-24 10:12
下一篇 2016-08-24 10:13

相關推薦

  • Linux基礎之正則表達式

    正則表示式語法及在grep命令中的引用

    2017-09-09
  • My Blog Testing!

    My Blog Testing!

    Linux干貨 2016-08-08
  • 從Linux小白到大牛——與狼共舞的日子12(上)

    馬哥教育網絡班21期+第12周課程練習 1、請描述一次完整的http請求處理過程; 1)建立或處理連接:客戶端發送http請求報文,服務器端接收或拒絕請求; 2)接收請求:服務器端接收來自客戶端對某些資源的請求; 3)處理請求:服務器端解析客戶端請求報文,獲取客戶端請求的資源及請求方法等信息; 4)訪問資源:服務器端獲取客戶端請求的資源; 5)構建響應報文;…

    Linux干貨 2016-12-26
  • N26_第一周作業

    計算機的組成 計算機由五大部分組成:    1.控制器(control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等;    2.運算器(datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行…

    Linux干貨 2016-12-28
  • N25-第7周博客作業

    N25-第7周博客作業 1、創建一個10G分區,并格式為ext4文件系統;        (1) 要求其block大小為2048, 預留空間百分比為2,   卷標為MYDATA, 默認掛載屬性包含acl;        (2)   掛載至/data/mydat…

    Linux干貨 2017-01-21
  • LNMP安裝過程中出現的問題及解決方法

    一、背景介紹    操作系統版本:centos6.8    nginx版本:nginx-1.10.2            mysql版本:mysql5.7.16    php版本:php5.6.28   由于mysql和php的…

    Linux干貨 2016-11-23
欧美性久久久久