天天看點

yum安裝時報RPM-GPG-KEY錯

今天在使用yum install的時候,碰見這樣的錯誤:Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

yum安裝時報RPM-GPG-KEY錯

百般查找才知道是因為在 /etc/yum.repos.d 目錄下,有關于yum repository的配置檔案中,列有如下的GPG key:

這個配置告訴YUM,這個repository的GPG key存在于磁盤上。而當YUM在路徑 /etc/pki/rpm-gpg 下找不到這個GPG key的時候,就會報如上的錯誤了。

解決方案:

然後再次運作 yum 指令就可以成功了。當然,也有些包是需要先安裝epel之後才能裝上的。安裝epel的方法是: 

因為好奇,搜尋了RPM-GPG-KEY到底是什麼,這篇文章寫的比較好

原文位址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml

下面,附錄RPM-GPG-KEY詳解:

一、GPG

GPG在Linux上的應用主要是實作官方釋出的包的簽名機制。

GPG分為公鑰及私鑰。

公鑰:顧名思意,即可共享的密鑰,主要用于驗證私鑰加密的資料及簽名要發送給私鑰方的資料。

私鑰:由本地保留的密鑰,用于簽名本地資料及驗證用公鑰簽名的資料。             

二、實作原理(以Red Hat簽名為例):

(1)RH在釋出其官方的RPM包時(如本地RHELCD光牒及FTP空間包),會提供一個GPG密鑰檔案,即所謂的公鑰。

(2)使用者下載下傳安裝這個RPM包時,引入RH官方的這個RPM GPG公鑰,用來驗證RPM包是不是RH官方簽名的。

導入GPG-KEY:

三、簽名及加密概念

        簽名類似于校驗碼,用于識别軟體包是不是被修改過,最常用的的就是我們的GPG及MD5簽名,原方使用一定的字元(MD5)或密碼(GPG私鑰)與軟體進行相應的運算并得到一個定長的密鑰。

        加密是用一定的密鑰對原資料進行修改,即使程式在傳輸中被截獲,隻要它不能解開密碼,就不能對程式進行修改,除非破壞掉檔案,那樣我們就知道軟體被修改過了。

四、RPM驗證方法

(1)驗證安裝的整個軟體包的檔案

(2)驗證軟體包中的單個檔案

注:如果檔案沒有被修改過,則不輸出任何資訊。

(3)驗證整個軟體包是否被修改過

驗證結果:

(4)驗證簽名

驗證結果含意:

繼續閱讀