RPM程序包基本使用

RPM簡介:

    `RPM(Revolutions Per Minute)是由RedHalt公司發(fā)展而來的,它是以數(shù)據(jù)庫記錄的方式將我們所需的
軟件安裝在Linux操作系統(tǒng)上叨叙,也就是說制作者將源碼包在指定的硬件環(huán)境及操作系統(tǒng)上進行編譯媒殉,將源代碼
編譯成二進制文件,并生成默認的數(shù)據(jù)庫文件摔敛,其中記錄了安裝程序包所依賴的軟件廷蓉,最后將可執(zhí)
行文件及數(shù)據(jù)庫文件打包成RPM機制的文件,這大大的讓我們對文件管理方便起來马昙,試想一下桃犬,
如果沒有該工具,我們自己去編譯源代碼行楞,那涉及到的依賴很多攒暇,那是不是特別麻煩,卸載起來也特別的麻煩
不利于管理子房,為了解決這類問題形用,后就誕生了RPM程序包管理器,在Linux界主流的其主要有RPM及DPKG,
這里只介紹RPM程序包管理器`

8.png

9.png

RPM用法及相關命令

用法:
  QUERYING AND VERIFYING PACKAGES:
         rpm {-q|--query} [select-options] [query-options]
              `select-options:查詢包`
             ` query-options:查詢配置文件证杭、版本號等`
         rpm {-V|--verify} [select-options] [verify-options]
              `校驗`
         rpm --import PUBKEY ...
              `導入密鑰認證`
          rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE...
              `手動驗證包的合法性`
`選項(select):
        PACKAGE_NAME:查詢指定包
        -a, --all:查詢所有已經(jīng)安裝的包
        -f, --file FILE:查詢文件屬于哪個包
        -g, --group GROUP:查詢指定包組中含有哪些程序包
        -p, --package PACKAGE_FILE:查詢?yōu)榘惭b的包包含哪些文件
        --whatprovides CAPABILITY:查詢指定的包提供了哪些能力
        --whatrequires CAPABILITY:查詢指定的CAPABILITY被哪些程序包所依賴
`
示例:
      rpm -q httpd:查詢httpd包
      rpm -qa:查詢所有安裝的程序包
      rpm -qf /etc/fstab:查詢fstab配置文件屬于哪個包
      rmp -pg “System Environment/Daemons”:查詢該包組包含哪些程序包
      rpm -q --whatprovides httpd:查詢httpd功能是由哪個包提供的
      rpm -q --whatrequires httpd:查詢httpd功能被哪個程序包依賴

`選項(query):
    --changelog:查詢包的更改信息
    -d, --docfiles:查詢包的文檔文件
    -c, --configfiles:查詢包的配置文件
    -i, --info:查詢包的基本信息田度,版本號、包名解愤、大小镇饺、描述信息等
    -l, --list:查詢包的所有文件
    --provides:查詢包所提供的能力
    -R, --requires:查詢包的依賴關系
    --scripts:查詢包所需要的執(zhí)行腳本
`
示例:
    rpm -q --changelog httpd:查詢httpd包更改的信息
    rpm -qd httpd:查詢httpd所提供的文檔
    rpm -qc httpd:查詢httpd的配置文件
    rpm -ql httpd:查詢httpd中所有的文件
    rpm -qi httpd:查詢httpd包的基本信息
    rpm -qR httpd:查詢httpd包的依賴關系
    rpm -q --scripts:查詢httpd包內部所需要運行的腳本

`選項(VERIFY)
    rpm {-V|--verify} [select-options] [verify-options]
    在安裝程序包后,假如是在網(wǎng)上隨意下載的一個包進行安裝送讲,有可能這個包被人篡改過或做過
一些不好的手段奸笤,這是我們需要校驗該包惋啃,判斷該包是否被更改過,以下為檢查包更過過的說明
`
S 檢查文件大小是否一致
M 判斷可執(zhí)行等參數(shù)是否被改變(權限监右、文件類型等)
5 判斷加密的屬性是否被改變
D 判斷主設備或副設備號是否匹配
L 路徑是否匹配
U 所屬者是否改變
G 所屬組是否改變
T 包創(chuàng)建的時間是否改變
P 包所提供的能力是否改變
導入公鑰密碼
    rpm --import PUBKEY ...
    示例:rpm --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 
`isntall(安裝)`
    用法:
        rpm {-i|--install} [install-options] PACKAGE_FILE ...
              `安裝`
        rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
              `升級或安裝`
        rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
              `升級`

 rpm {-i|--install} [install-options] PACKAGE_FILE ...
      Optiosn:
        `
          -i:安裝
          -v:查看更詳細的安裝信息
          -h:顯示安裝進度
          --test:測試边灭,不是真正的安裝
          --nodeps:忽略包依賴關系
          --replacepkg:重新安裝包,如果之前包的相關文件存在則不會替換健盒,不存在則提供
          --nosigature:不檢查包的簽名及包來源的合法性
          --nodigest:不檢查包的完整性
          --justab:由于RPM數(shù)據(jù)庫損壞或某些緣故產(chǎn)生錯誤存筏,可以使用giant選項來更新軟件在數(shù)據(jù)庫內的相關信息
          preinstall:安裝過程開始之前運行的腳本,%pre味榛,--nopre
          postinstall:安裝過程完成之后運行的腳本,%post予跌,--nopost
          preuninstall:卸載過程真正執(zhí)行之前運行的腳本搏色,%preun ,--nopreun           
          postuninstall:卸載過程完成之后運行的腳本券册,%postun频轿,--nopostun
        `
    示例:
      rpm -ivh /media/CentOS_6.10_Final/Packages/httpd-2.2.15-69.el6.centos.x86_64.rpm:安裝httpd包
      rpm -ivh --test /media/CentOS_6.10_Final/Packages/httpd-2.2.15-69.el6.centos.x86_64.rpm:測試安裝
      rpm -ivh --nodeps  /media/CentOS_6.10_Final/Packages/httpd-2.2.15-69.el6.centos.x86_64.rpm:安裝時忽略依賴關系
      rpm -ivh --nosigature /media/CentOS_6.10_Final/Packages/httpd-2.2.15-69.el6.centos.x86_64.rpm:不檢查包的簽名及來源合法性
      rpm -ivh --replacepkg /media/CentOS_6.10_Final/Packages/httpd-2.2.15-69.el6.centos.x86_64.rpm:重新安裝httpd包

`rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...:升級安裝,如果程序包不存在則安裝烁焙,存在則升級`
    Options:
`
      -U:升級安裝
      --oldpackage:降級安裝
      -F:升級
      --force:強制升級
`

(卸載)
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...
    Options:
    `
      -e:卸載程序包
      --allmatches:卸載所有指定名稱的各程序包版本
      --nodeps:忽略依賴關系
      --test:測試卸載
      注意:卸載安裝的過程一定要右上至下解除關系航邢,當要卸載指定的程序包時,一定要先卸載
指定的程序包骄蝇,否則會發(fā)生結構上的問題膳殷,這就好比拆房子,先拆最上面九火。
    `
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末赚窃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子岔激,更是在濱河造成了極大的恐慌勒极,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虑鼎,死亡現(xiàn)場離奇詭異辱匿,居然都是意外死亡,警方通過查閱死者的電腦和手機炫彩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門匾七,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人江兢,你說我怎么就攤上這事乐尊。” “怎么了划址?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵扔嵌,是天一觀的道長限府。 經(jīng)常有香客問我,道長痢缎,這世上最難降的妖魔是什么胁勺? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮独旷,結果婚禮上署穗,老公的妹妹穿的比我還像新娘。我一直安慰自己嵌洼,他們只是感情好案疲,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著麻养,像睡著了一般褐啡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鳖昌,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天备畦,我揣著相機與錄音,去河邊找鬼许昨。 笑死懂盐,一個胖子當著我的面吹牛,可吹牛的內容都是我干的糕档。 我是一名探鬼主播莉恼,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼速那!你這毒婦竟也來了类垫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤琅坡,失蹤者是張志新(化名)和其女友劉穎悉患,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榆俺,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡售躁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了茴晋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陪捷。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡诺擅,死狀恐怖市袖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤苍碟,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布微峰,位于F島的核電站蜓肆,受9級特大地震影響症概,放射性物質發(fā)生泄漏逼友。R本人自食惡果不足惜筐眷,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一烈炭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垫毙,春花似錦丽蝎、人聲如沸膀藐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉加。三九已至蚜枢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間针饥,已是汗流浹背厂抽。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留丁眼,地道東北人筷凤。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像苞七,于是被迫代替她去往敵國和親藐守。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容