rpm包管理

一、概述

RPM 是RPM Package Manager(RPM軟件包管理器)的縮寫。由redhat公司的Redhat package manager改名而來,成了RedHat的工業標準

二、rpm的命名格式:

rpm包的命名格式:name-version-relase.arch.rpm

version: major.minor.release,同源代碼

release: rpm自身的發行號,與程序源碼的發行號無關,僅用于標識對rpm包不同制作的修訂;同時,release還包含此包適用的OS

如:

arch: 適用于的硬件平臺,

x86: i386, i486, i586, i686等;

x86_64: x86_64

powerpc: ppc

noarch: 依賴于虛擬機

rubygems-1.3.7-5.el6.noarch.rpm

以下是子包

rubygems-devel-1.3.7-5.el6.noarch.rpm

三、獲取rpm包的途徑:

1、發行的光盤或站點服務器

鏡像:

http://mirrors.163.com

http://mirrors.sohu.com

2、項目的官網

源代碼

rpm包

3、第三方機構或個人的制作并公開發布的rpm包

http://rpmfind.net

http://rpm.pbone.net

4、可靠途徑:EPEL

fedora 維護的:Fedora-EPEL

四、合法性驗證

    包的制作者使用單向加密提取原始數據的特征碼,而后使用自己的私鑰加密這段特征碼,附加原始數據后面。

驗證過程:

前提:必須有可靠機制獲取到包制作者的公鑰;

1、使用制作者的公鑰解密加密的特征碼,能解密則意味著來源合法;

2、使用與制作者同樣的意向加密算法提取原始數據的特征碼,并與解密出來的特征作比對,相同,則意味著完整性沒問題;

五、包管理器的使用

1、安裝及重新安裝

rpm [option]  package_file

-i:install
-v|vv|vvv : 詳細信息|更詳細|再詳細
-h;hash,用#來表示進度,每個5%
--test: 僅作測試,沒有真正執行安裝
--nodeps: 忽略依賴關系
--replacepkgs:重新安裝 (如果包的配置文件安裝后曾被改動過,卸載時,此文件將不會卸載,而是被重命名并保留)

blob.png2、卸載

rpm [option] package_name

-e: erase
--nodeps: 忽略依賴關系

blob.png

3、升級程序包

rpm [option] package_file

-U:升級或安裝 :有老版本,替換,沒有就安裝。
-F:純升級:一定要有有老版本,才會安裝新版本
--force: 強制升級

注意:不應該對內核執行升級操作,而是安裝。系統允許多內核并存;

升級完后新內核不支持??赡軉硬涣?。

安裝后新內核不能用,還可以啟用老版本。

4、查詢操作

rpm -q package_name : 查詢包是否安裝
rpm -qa : 查詢所有已經安裝的包
rpm -qi package_name: 查詢包的描述信息
rpm -ql package_name: 查詢包生成了哪些文件
rpm -qc package_name: 查詢包安裝生成了哪些配置文件
rpm -qd package_name: 查詢包安裝生成了哪些幫助文檔
rpm -q --scripts package_name: 查詢包的相關腳本(安裝及卸載前后四類腳本)
rpm -qf some_file: 查詢文件是由哪個包安裝生成

對尚未安裝的包執行查詢

rpm -qpi :將會生成的描述信息
rpm -qpl :將會生成的文件
rpm -qpc :將會生成的配置文件
rpm -qpd :將會生成的幫助文檔

5、rpm包來源合法性及完整性校驗:

系統上需要有包制作者的公鑰:比如導入光盤上的公鑰

rpm --import package_file 導入公鑰
rpm -qa gpg-pubkey*   查看導入的公鑰
rpm -qi gpg-pubkey-NAME 查看公鑰的詳細信息

blob.png

檢查包的完整性:安裝過程中自動執行

rpm -K package_file 只檢查不安裝
rpm --checksig package_file 只檢查不安裝
rpm -K --nodigest 不檢查包完整性
rpm -K --nosignature 不檢查來源合法性

6、數據庫重建

數據庫目錄: /var/lib/rpm

rpm --initdb:初始化 如果事先沒有庫,會新建一個;如果有,則不新建
rpm --rebuilddb:重建 直接重建,覆蓋原有的數據庫

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

(0)
麥鯨麥鯨
上一篇 2015-10-05 22:34
下一篇 2015-10-07 12:02

相關推薦

  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理命令:cp、mv、rm (1)cp命令:copy     單源復制:cp [OPTION]… [-T] SOURCE DEST     多源復制:cp…

    Linux干貨 2016-12-10
  • N22-妙手-第九周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現;: #!/bin/bash # declare -i numberOfLoginUser=0 declare -i numberOfUnloginUs…

    Linux干貨 2016-10-19
  • 作業:0805

    1.查出用戶UID最大值的用戶名、UID及shell類型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的權限,以數字方式顯示 > st…

    Linux干貨 2016-08-08
  • 馬哥教育網絡班第21期+第六周課程作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的1、以至少一個空白字符開頭的行的行首加#; :%s@^[[:space:]]\+@#@   2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; :%s@^[[:space…

    Linux干貨 2016-08-22
  • 系統管理之程序包管理(一) rpm詳解

    系統管理之程序包管理(1):     程序包管理是運維人員的基本工作素質之一。在操作系統上,不斷的安裝,卸載,配置應用程序包,讓不同程序包運行提供不同的服務;利用某種工具完成某些操作的過程。這就要求運維工作人員熟悉安裝,管理應用程序包。 在linux上,程序包主要有兩種:tar,rpm包。 一、程序包概述: 系統接口   &nb…

    Linux干貨 2016-08-21
  • 計算機硬件及Linux簡介

    計算機的組成 計算機主要分成五大部分:輸入單元、控制單元、運算單元、存儲器、輸出單元。 其中,中央處理器(CPU)是一個具有特定功能的芯片,含有微指令集。包括控制單元與運算單元。 控制單元對程序進行控制,調度程序、數據、地址。運算單元負責對數據的各種邏輯運算和數字運算。 計算機的功能 包括但不限于 驅動程序:字面意思。 進程管理:計算機內部能夠通過分配資源,…

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