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
下一篇 2016-08-24

相關推薦

  • 八大排序算法

    概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。 我們這里說說八大排序就是內部排序。     當n較大,則應采用時間復雜度為O(nlog2n)的排序方法:快速排序、堆排序或歸并排序序。    快速…

    Linux干貨 2015-04-07
  • shell腳本參數練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登陸shell(即用戶的shell不是/sbin/nologin),分別這兩類用戶的個數;通過字符串比較來實現; !/bin/bash # login_user=0 nologin_user=0 for i in $(cat /etc/passwd | cut -d : -f 7);do if [ $…

    2017-09-17
  • mongodb及NoSQL入門學習總結

    分布式系統理論 一、 CAP: 分布式系統只能夠,滿足其中兩個? 1.?Consistency :?all nodes see the same data at the same time 一個節點修改后,需馬上復制到第二個節點。如果網絡故障,第二個節點將不能同步第一個節點更新的數據。這就是不能滿足一致性。 2.?Availibility:a guarant…

    2017-09-14
  • Linux下的find命令詳解

    Linux下的find命令詳解 在linux下有兩種查找符合條件文件的命令,是locate和find。我們來說說find這個命令。 find: 實時查找工具,遍歷查找指定路徑下的所有的文件來找到符合條件的文件。 特點:查找文件比locate速度略慢,查找文件很精確,并且是實時進行查找的。 使用方法:find [OPTIONS] [查找起始路徑] [查找條件]…

    Linux干貨 2018-03-20
  • ip,ss,htop,vmstat,until,while,ping命令使用. N28

    第六周(2018-1.1 – 2018-1.7)

    2018-01-08
  • 用戶相關文件簡介

    2016/10/23 總結關于用戶和組相關的配置文件 Linux系統主要有4個文件與用戶和組的配置有關, 主要為/etc/passwd  /etc/shadow   /etc/group  /etc/gshadow 首先來解釋一下什么是用戶,什么是組 用戶:      管理員用戶&nbsp…

    Linux干貨 2016-10-24
欧美性久久久久