本文首發於我的個人網站: https://hewanyue.com/
本文作者: Hechao
本文鏈接: https://hewanyue.com/blog/5da16ceb.html
博主在CentOS8上dnf安裝PHP的依賴包libmcrypt-devel的時候,死活裝不上,一直報錯。看了下說是依賴項libmcrypt裝不上,報錯原因說的是是祕鑰校驗時缺少主機名。這很奇怪,因爲用的是阿里的epel源,之前安裝各種軟件包都沒問題,這次突然就祕鑰驗證不過了。
[root@CentOS8 php-7.3.10]#yum install libmcrypt-devel -y
Last metadata expiration check: 0:01:31 ago on Sat 02 Nov 2019 07:47:12 PM CST.
Dependencies resolved.
=====================================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================================
Installing:
libmcrypt-devel x86_64 2.5.8-26.el8 aliyun 18 k
Installing dependencies:
libmcrypt x86_64 2.5.8-26.el8 aliyun 109 k
Transaction Summary
=====================================================================================================================================
Install 2 Packages
Total size: 127 k
Installed size: 320 k
Downloading Packages:
[SKIPPED] libmcrypt-2.5.8-26.el8.x86_64.rpm: Already downloaded
[SKIPPED] libmcrypt-devel-2.5.8-26.el8.x86_64.rpm: Already downloaded
warning: /var/cache/dnf/aliyun-a19d7e5a690d289a/packages/libmcrypt-2.5.8-26.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
aliyun 0.0 B/s | 0 B 00:00
Curl error (3): URL using bad/illegal format or missing URL for file://https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8 [Invalid file://hostname/, expected localhost or 127.0.0.1 or none]
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
查了下網上很多說法,不過都沒有解決疑問。解決方案也五花八門,類似rpm --import /etc/pki/rpm-gpg/RPM*
導入祕鑰的,也有建議安裝時加選項--force --nodeps
忽略依賴關係的。祕鑰導入沒用,我本身yum源倉庫配置文件也填寫了阿里雲鏡像源的祕鑰路徑的。忽略依賴關係強制安裝的話,擔心會不按依賴項,導致其他別的問題,而且這個選項本身也報錯了。
後來只能乾脆把祕鑰檢查關了,確實能裝上了。
vim /etc/yum.repos.d/aliyun.repo
name=aliyun
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/
gpgcheck=0
enabled=1
gpgkey=file://https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever
希望不是因爲阿里的安裝包被人動過而導致祕鑰檢查不通過吧,姑且相信吧。記錄一下,等後期如果有問題或者有空再來排查原因。
------------------------------------------後記 -----------------------------------
原來當時配置yum源文件的時候不小心畫蛇添足了,導致gpgkey文件路徑不對,應爲gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releaseve
,用file://的話,就不需要加協議了,直接寫主機名或IP加路徑。
要時刻提醒自己還是要仔細,一直不出錯不代表沒錯。
2019.11.10