LINUX下的RPM應用

一 前言

在進入RPM的應用前,關于可執行程序的一些基本知識有必要說明一下:

1 ABI:application binary interface,這是應用程序與系統間的協議,大家都知道同一個程序在不同的操作系統平臺可能會無法執行,很大程度上就是因為ABI的不同,因此,對于可執行程序,選擇對應操作系統平臺是第一步

2 API:application programming interface,這個概念很重要,如何理解呢?拋開那些復雜的概念的不說,程序的運行并不是孤立的,運行過程中需要調用能實現各種功能的庫(函數)文件,否則無法保證程序的正常運行(有興趣的朋友可以試試#rm -f  /lib64/libc.so.6),所以在程序安裝前,得保證相應的庫文件已準備完畢

3 軟件結構:通常一個完善的二進制應用程序應該包括四個部分(二進制文件,庫文件,配置文件,幫助文件 )


二  RPM應用場景

               在軟件安裝的工具選擇中,RPM因為軟件依賴性的存在使得很多軟件的安裝過于復雜,通常對于RPM包的安裝選擇YUM會比較簡單粗暴(YUM會自動解決依賴性問題),在此不介紹RPM的安裝。RPM工具的使用更多是在查詢,校驗,抽取文件等等方面

1. 查詢: RPM的查詢基于軟件包的數據庫/var/lib/rpm,這個數據庫很重要,一旦遭到破壞會影響整個         RPM的管理;查詢的相關命令如下:

    rpm    -q   pkgname(包名):查詢RPM包是否被安裝

              -qa  查詢所有已安裝的RPM包,結合grep可用來獲取想要查詢的信息;也可以使用rpm -qa                             “keyword”的形式查詢某些關鍵字相關的結果

              -qf   /path/to/file    查詢某文來源于哪個包

              -ql   pkgname       查詢已安裝包在系統中的文件列表

              -qpl  /path/to/file    查詢未安裝包的文件列表 

              -qc    pkgname      查詢相關包配置文件

2. 校驗:RPM提供校驗功能,可查看文件是否被修改過,以保證系統安全(特別針對于被改過的可執行     文件);校驗結果是比對當前包與RPM數據庫(RPM數據庫的重要性?。┑贸龅慕Y果 

         rpm     -V     pkgname    

    校驗結果為SM5DLUGTP:被修改后顯示對應字母(每個字母表示特定內容)被修改,無改動顯示為點         號”.” 

3. 驗證包來源合法性與完整性,驗證前需要先導入公鑰——安裝系統時/etc/pki/rpm-gpg下會生成

    導入公鑰:rpm    –import    /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

                 rpm     -K    /path/to/file    

4. 包內文件查看并提?。簉pm2cpio -tv /path/to/rpmpkgs | cpio -id ./path/to/file
    PS:-tv為查看rpm包內的文件,路徑必須為完整路徑 -id為提取某文件,提取的文件路徑必須完整

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

(2)
sevenyellowsevenyellow
上一篇 2017-04-17
下一篇 2017-04-18

相關推薦

  • Bash 三種排序算法的簡單實現

    Bash 三種排序算法的簡單實現

    2017-07-09
  • 如何加密/混亂C源代碼

    之前發表了《6個變態的C語言Hello World程序》[酷殼鏈接] [CSDN鏈接],主要是是像大家展示了一些C語言的變態玩法。也向大家展示了一下程序是可以寫得讓人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都覺得很好玩,是的,那本來是用來供朋友們“消遣作樂”,供娛樂娛東而已,不必太過認真。 不過,通過這種極端的寫法,大家可以看到源代碼都可以寫得那…

    Linux干貨 2016-05-08
  • IoC/DIP其實是一種管理思想

    關于IoC的的概念提出來已經很多年了,其被用于一種面象對像的設計。我在這里再簡單的回顧一下這個概念。我先談技術,再說管理。 話說,我們有一個開關要控制一個燈的開和關這兩個動作,最常見也是最沒有技術含量的實現會是這個樣子: 然后,有一天,我們發現需要對燈泡擴展一下,于是我們做了個抽象類: 但是,如果有一天,我們發現這個開關可能還要控制別的不單單是燈泡的東西,我…

    Linux干貨 2016-08-15
  • 8.10 shell scripts 作業

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 [root@CentOs6 bin]# systeminfo.sh        Hostname:&n…

    Linux干貨 2016-08-12
  • 二進制、八進制、十進制、十六進制之間的轉換

    二進制、八進制、十進制、十六進制之間的關系:   二進制:0,1 八進制:0,1,2,3,4,5,6,7, 十進制:0,1,2,3,4,5,6,7,8,9 十六進制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F   二進制與十進制之間的轉換: 十進制轉二進制:   二進制轉十進制:   二進制與八進制…

    2017-04-01
  • N25第六周作業

    vim編輯器 基本模式: 編輯模式,命令模式 輸入模式 末行模式: 內置的命令行接口;   打開文件: # vim [options] [file ..] +#:打開文件后,直接讓光標處于第#行的行首; +/PATTERN:打開文件后,直接讓光標處于第一個被PATTERN匹配到的行的行首;   模式轉換: 編輯模式:默認模式 編輯模式 &…

    Linux干貨 2017-02-15

評論列表(1條)

  • renjin
    renjin 2017-04-21 09:46

    主要介紹了rpm命令常用的幾個參數,內容總結的很好,建議插入一些示例和執行的結果,并將終端提示符類的命令或代碼放入到”插入程序代碼”中

欧美性久久久久