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 22:51
下一篇 2017-04-18 08:46

相關推薦

  • 系統管理中的三大利刃(htop glances dstat)

    工欲善事情,必先利其器,生產環境中的服務器在處理請求并生成回應數據的時間主要消耗在服務器端,包括了眾多的環節,如何全面了解我們linux服務器的CPU使用率、使用時間、內存占用比例、磁盤IO數據、網絡相關數據等等眾多指標,保證我們的linux服務器順利完成每一個請求,怎能沒有幾個趁手的利刃,而今天就讓我們見識一下系統管理中三大利刃。 相傳一把三尺長的軟劍,叫…

    Linux干貨 2015-11-18
  • Linux 2.6.39-rc3的一個插曲

    2011年4月12日,Linux 2.6.39-rc3發布了,Linus Torvalds寫了一個發布郵件,其中包含了一個長長的為這個版本做過貢獻的人員名單,這個名單中有很多看上去應該是中國人的名字,我挺為他們感到驕傲的(不知道你是否還記得以前本站的”Linux是由誰寫的“)。 不過,沒過一會,發現了一個bug,經過大家的調查(2.6.38版沒有發現這個問題…

    Linux干貨 2016-06-09
  • yum倉庫搭建

    兩臺主機: 一臺centos7? 客戶機 一臺centos6 ?服務器 準備工作 1.查看是否共享服務是否可用 httpd或vsftpd 是否安裝。確認安裝之后選擇vsftpd為共享服務/var/www/html和/var/ftp/pub為共享目錄。 這里使用vsftpd,/var/ftp/pub這個目錄為共享目錄 在這個目錄下建立一個獨立的文件夾 [roo…

    2017-12-01
  • AWK

    GNU awk 全稱:Aho,Weiberger,Kernighan,是三個作者的名字,所以簡稱為awk awk:報告生成器,主要用來格式化文本輸出的,它能夠實現在處理文本文件時對文檔中的字段有條件的顯示,而且將顯示的結果用非常美觀的文本形式給予輸出。我們所用的awk其實就是gawk,他是一個符號鏈接指向gawk的。 gawk – pattern…

    Linux干貨 2016-09-23
  • 硬軟鏈接的區別 節點 以及重定向和管道

    INODE全稱叫index node 表中包含文件系統所有文件列表   一個節點是在一個表項 包含有關文件的信息 ( 元數據 ) 包括: 文件類型,權限,UID,GID 鏈接數(指向這個文件名路徑名稱個數) 該文件的大小和不同的時間戳 指向磁盤上文件的數據塊指針 有關文件的其他數 1 文件引用一個是 inode號   2 我們是通過文件名…

    Linux干貨 2016-08-12
  • Nginx 原理

    Web服務器處理并發連接請求的工作模型有以下幾種方式: 1、單線程web服務器(Single-threaded web servers)此種架構方式中,web服務器一次處理一個請求,結束后讀取并處理下一個請求。在某請求處理過程中,其它所有的請求將被忽略,因此,在并發請求較多的場景中將會出現嚴重的性能問題。(即一次只能處理一個請求) 2、多進程/多線…

    Linux干貨 2017-05-07

評論列表(1條)

  • renjin
    renjin 2017-04-21 09:46

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

欧美性久久久久