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
下一篇 2015-10-07

相關推薦

  • 證書及加解密原理圖解

    證書管理 現在上網大多數網站都是使用https的協議,https是一個安全的訪問方式,數據在傳輸過程中是加密的,這時候在服務器端就需要使用證書。 科普加解密流程 服務器端客戶端 服務器在和客戶端通信前必須先建立SSL會話,下圖解析SSL會話過程

    Linux干貨 2016-09-25
  • 搭建個人博客&論壇(LAMP):wordpress、discuz、phpMyAdmin

    搭建個人博客&論壇(LAMP):wordpress、discuz、phpMyAdmin 一、快速部署LAMP架構平臺 1.CentOS 6系統部署 所需安裝包:httpd, php, mysql-server, php-mysql ]# yum install -y  httpd php&n…

    Linux干貨 2016-10-17
  • 你的數據根本不夠大,別老扯什么Hadoop了

    本文原名“Don’t use Hadoop when your data isn’t that big ”,出自有著多年從業經驗的數據科學家Chris Stucchio,紐約大學柯朗研究所博士后,搞過高頻交易平臺,當過創業公司的CTO,更習慣稱自己為統計學者。對了,他現在自己創業,提供數據分析、推薦優化咨詢服務,他的郵件是:stucchio@gmail.co…

    Linux干貨 2015-04-04
  • Linux程序包管理方式

    Linux程序包安裝和管理方式共計三種:          一、[yum|dnf],通過官網或者其他開源網站提供的文件服務器,本機鏡像源等途徑進行安裝。         二、rpm,通過官網或者其他開源網站通過…

    Linux干貨 2016-08-29
  • Linux之bash shell腳本編程入門篇(一)

    什么是bash shell腳本編程? 答:Linux里面有多種shell,而CentOS和redhat的默認shell是bash shell。至于shell腳本,這個跟windows操作系統里面的批處理文件有點像(.bat的文件)。不知道大家還是否記得Linux的哲學思想嗎?其中有那么兩點點:由眾多目的的單一應用程序組成:一個程序只做一件事,且做好;組合目的…

    Linux干貨 2016-08-15
  • CentOS 7 yum安裝LAMP,LNMP并搭建WordPress個人博客網站

    本次實驗要進行的是在CentOS7.2,內核版本3.10.0-327.el7.x86_64的環境下搭建LAMP和LNMP,并在此之上做一個WordPress博客網站。 [root@Shining ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64&nbsp…

    Linux干貨 2016-11-24
欧美性久久久久