rpm包管理

前言
    RPM(簡稱RPM,全稱為The RPM Package Manager)是在Linux下廣泛使用的軟件包管理器。RPM此名詞可能是指.rpm的文件格式的軟件包,也可能是指其本身的軟件包管理器(RPM Package Manager)。最早由Red Hat研制,現在也由開源社區開發。RPM通常隨附于Linux發行版,但也有單獨將RPM作為應用軟件發行的發行版(例如Gentoo)。RPM僅適用于安裝用RPM來打包的軟件,目前是GNU/Linux下軟件包資源最豐富的軟件包類型之一。

rpm的命名格式:
    name-version-release.arch.rpm
        version: major.minor.release,同源代碼
        release: rpm自身的發行號,與程序源碼的發行號無關,僅用于標識對rpm包不同制作的修訂;
        同時,release還包含此包適用的OS
            例如:bash-4.2.3-3.centos5
        arch: 適用于的硬件平臺,
             x86: i386, i486, i586, i686等;
             x86_64: x86_64
             powerpc: ppc
             noarch: 依賴于虛擬機
        示例:bash-4.2.3-3.centos5.x86_64.rpm

獲取rpm包的途徑:
    1、發行的光盤或站點服務器
       鏡像:
          http://mirrors.163.com
          http://mirrors.sohu.com
    2、項目的官網
       源代碼、rpm包
    3、很多第三方機構或個人制作并公開發布許多rpm包
       http://rpmfind.net
       http://rpm.pbone.net
       可靠的途徑:EPEL
                    

rpm的命令格式::
    rpm [option…] PACKAGE_FILE

rpm包管理器:
    1、打包
    2、安裝
    3、卸載
    4、升級
    5、信息查看
    6、校驗
    7、數據庫管理

1、打包

    略……

2、安裝

    -i:安裝指定包
    -{v|vv|vvv}:顯示詳細安裝信息,v字母越多顯示越詳細
    -h:顯示進度條
    --nodeps:忽略依賴關系
    --test:僅做測試,不執行安裝
    --replacepkgs:重新安裝

3、卸載

-e:卸載包
--nodeps:忽略依賴關系
    如果被其它包所依賴:
    1、將依賴于此包的所有包一并卸載
    2、忽略依賴關系;能卸載,但依賴于此包程序包可能會運行不正常;
    3、如果包的配置文件安裝后曾被改動過,卸載時,此文件將不會卸載,而是被重命名并保留

4、升級

    -U:升級或安裝
    -F:純升級,前提是得有老版本
    --force:強制升級

5、信息查看

    -q:查詢包是否已安裝
        常用查詢選項組合:
        -qa:列出所有已安裝的包
        -qi:列出某已安裝包的描述信息
        -ql:列出某已安裝包生成了哪些文件
        -qc:列出某已安裝包生成了哪些配置文件
        -qd:列出某已安裝包生成了哪些幫助文件
        -qf:/path/to/some_file:查詢某文件是由哪個包生成的
        -qs:查詢某已安裝包內文件的狀態,有三種:normal、not installed、replaced
        -qp:查詢某未安裝包的相關信息
            -qpi:列出某未安裝包的描述信息
            -qpl:列出某未安裝包生成了哪些文件
            -qpc:列出某未安裝包生成了哪些配置文件
            -qpd:列出某未安裝包生成了哪些幫助文件
        -q --scripts package_name:列出某已安裝包的相關腳本
            腳本有四類:
            preinstall:安裝前腳本
            postinstall: 安裝后腳本
            preuninstall: 卸載前腳本
            postuninstall: 卸載后腳本

6、校驗

    包制作者制作完成之后會附加數字簽名于包上;

    來源合法性,包的完整性

    包的制作者使用單向加密提取原始數據的特征碼,而后使用自己的私鑰加密這段特性碼,附加原始數據后面。
    驗正過程:
    前提:必須有可靠機制獲取到包制作者的公鑰;
    ① 使用制作者的公鑰解密加密的特征碼,能解密則意味著來源合法;
    ② 使用與制作者同樣的意向加密算法提取原始數據的特征碼,并與解密出來的特征作比對,相同,則意味著完整性沒問題;

rpm --import:導入公鑰,導入后即可自動檢查
rpm -qa gpg-pubkey:查看所有已導入的公鑰
rpm -qi gpg-pubkey-NAME:顯示密鑰的詳細信息
rpm --checksig package:手動檢測包的合法性及完整性
rpm -K package:手動檢測包的合法性及完整性
    rpm -K --nodigest:不檢查包完整性
    rpm -K --nosignature:不檢查來源合法性
rpm -V package_name
    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
    某屬性無變化,顯示為.

7、數據庫管理:

    路徑:/var/lib/rpm,保存所有包相關信息,如:包名、包組、依賴關系、公鑰文件等

    rpm –initdb:初始化,如果沒有庫,會新建一個,如果有則不重建

    rpm –rebuiddb:重建

    

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

(0)
秦
上一篇 2015-05-13 18:38
下一篇 2015-05-13 18:41

相關推薦

  • 使用Storm實現實時大數據分析

    摘要:隨著數據體積的越來越大,實時處理成為了許多機構需要面對的首要挑戰。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上結合了汽車超速監視,為我們演示了使用Storm進行實時大數據分析。CSDN在此編譯、整理。 簡單和明了,Storm讓大數據分析變得輕松加愉快。 當今世界,公司的日常運營經常會生成TB級別的數據。數據來源…

    Linux干貨 2015-04-04
  • 磁盤和文件系統管理述

        我們知道一塊磁盤是可以被分區成多個分區的(partition),以Windows的觀點來看,你可能會有一顆磁盤并且將他分區成為C:, D:, E:盤,那個C, D,E就是分區。Linux的設備都是以文件的型態存在,磁盤設備接口的不同也早就了磁盤文件名的不同。即IDE接口的磁盤設備文件名都是/dev/hd[a-z…

    Linux干貨 2016-08-29
  • 20160803普通權限與特殊權限及umask

    權限     任何一個可執行程序文件能不能啟動為進程,取決發起者對程序文件是否擁有執行權限.即權限決定用戶對文件或者目錄的使用范圍.在Linux系統中,root的權限是最高的,可操作的權限最大,通常情況下root賬號只用于管理系統的重要信息,并不做日常維護工作,所以正確設定用戶的權限對系統的安全性尤為重要. 普通權限: 文件目錄只針對三類…

    Linux干貨 2016-08-04
  • 馬哥教育網絡班22期+第一周課程練習

    一、計算機的基本組成和功能   cpu包括運算器、控制器、寄存器、緩存       運算器:計算功能,對數據進行加工處理的的部件;       控制器:負責從存儲器取出指令,控制cpu計算器之間的運行結果和狀態;       寄存器:暫存指令和數據的地方,存儲…

    Linux干貨 2016-08-15
  • 初學Linux之程序進程管理工具匯總

    pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup ?

    2017-12-16
  • MooseFS性能圖表[原創]

    對MooseFS有了一定的了解,現在可以壓壓它的性能了,使用的是iozone IO測試工具。測試命令為:./iozone -a -n 512m -g 4g -i 0 -i 1 -f /mnt/mfs/logs/test.tar.gz -Rb ./iozone.xls -C測試說明1、/mnt/mfs/logs/test.tar.gz大小為9.2G,大于服務器…

    Linux干貨 2015-03-27
欧美性久久久久