ntp-4.2.8.p10-1 在升級後由於 libcrypto.so.1.0.0(安裝 1.1)依賴而失敗,並希望降級到 4.2.8.p9-2。這有什麼意義?
免責聲明:
這確實不是我係統穩定執行的關鍵問題,但我問這個問題是因為我根本無法理解它,我真的很想知道這裡發生了什麼。
我正在執行一個
arch linux
盒子,只是做了yaourt -Syua
。一切都很順利。我重新啟動並檢查systemctl list-units --state failed
結果ntpd.service
。我journalctl -r -u ntpd
找到了入口Apr 24 19:54:33 htpc ntpd[1850]: /usr/bin/ntpd: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
執行
ldconfig -v | grep libcrypto
產生libcrypto.so.1.1 -> libcrypto.so.1.1
這又屬於
openssl
# yaourt -Ql | grep libcrypto openssl /usr/lib/libcrypto.so openssl /usr/lib/libcrypto.so.1.1
然後我想也許我第一次跑步時沒有升級,
yaourt -Syua
所以我第二次嘗試沒有升級候選人。ntp
無論如何,最有可能的候選人將是openssl
成功升級的# yaourt -Si openssl | grep Version && yaourt -Qi openssl | grep Version Version : 1.1.0.e-1 Version : 1.1.0.e-1
檢查
ntp
版本# yaourt -Si ntp | grep Version && yaourt -Qi ntp | grep Version Version : 4.2.8.p9-2 // in the offical `Extra` repo Version : 4.2.8.p10-1 // installed on my system??
只是想看看會發生什麼我嘗試(重新)安裝
ntp
# yaourt -Sy ntp :: Synchronising package databases... core is up to date extra is up to date archlinuxfr is up to date community is up to date multilib is up to date warning: downgrading package ntp (4.2.8.p10-1 => 4.2.8.p9-2) Packages (1) ntp-4.2.8.p9-2 Total Download Size: 1.71 MiB Total Installed Size: 4.09 MiB Net Upgrade Size: -0.10 MiB :: Proceed with installation? [Y/n]
這讓我完全慌了神。它要我
ntp
在剛升級時降級openssl
以使用正確的libcrypto.so
?# cat /var/log/pacman.log | grep openssl [2017-04-24 19:23] [ALPM] upgraded openssl (1.0.2.k-1 -> 1.1.0.e-1) # cat /var/log/pacman.log | grep ntp [2017-04-13 18:08] [ALPM] upgraded ntp (4.2.8.p9-1 -> 4.2.8.p10-1)
此外,在查看 Arch Linux 官方網站時,它指出該
ntp
軟體包的過時狀態ntp 4.2.8.p9-2
為目前版本。我的問題
- 我怎麼可能有一個
ntp
比官方Extra
儲存庫中聲明的版本更新的版本,而我只有一個[archlinuxfr]
沒有攜帶的其他自定義儲存庫(-for yaourt)ntp
?我檢查了。- 為什麼
yaourt/pacman
建議我降級我的包裹?- 降級我的包會真正解決我的
ntp
問題,還是我應該降級openssl
假設有正確的libcrypto.so
版本?編輯 1
我今天也升級了第二個 Arch linux 盒子,但沒有問題。這是兩者
pacman.log
的比較。也可能對此有所了解:BoxRunningFine# cat /var/log/pacman.log | grep -e "upgraded openssl" -e "upgraded ntp" [2017-01-04 21:26] [ALPM] upgraded ntp (4.2.8.p8-1 -> 4.2.8.p9-1) [2017-02-28 19:05] [ALPM] upgraded openssl (1.0.2.j-1 -> 1.0.2.k-1) [2017-04-24 18:48] [ALPM] upgraded openssl (1.0.2.k-1 -> 1.1.0.e-1) [2017-04-24 18:49] [ALPM] upgraded ntp (4.2.8.p9-1 -> 4.2.8.p9-2) BoxWithIssue# cat /var/log/pacman.log | grep -e "upgraded ntp" -e "upgraded openssl" [2016-06-05 03:18] [ALPM] upgraded ntp (4.2.8.p7-1 -> 4.2.8.p8-1) [2016-10-21 18:17] [ALPM] upgraded openssl (1.0.2.h-1 -> 1.0.2.j-1) [2017-01-06 14:18] [ALPM] upgraded ntp (4.2.8.p8-1 -> 4.2.8.p9-1) [2017-02-08 22:54] [ALPM] upgraded openssl (1.0.2.j-1 -> 1.0.2.k-1) [2017-04-13 18:08] [ALPM] upgraded ntp (4.2.8.p9-1 -> 4.2.8.p10-1) [2017-04-24 19:23] [ALPM] upgraded openssl (1.0.2.k-1 -> 1.1.0.e-1)
從外觀上看,有問題的盒子的升級時間很差。猜猜這將是一個典型的厄運案例。那麼我只是降級到
4.2.8.p9-2
並且我認為應該沒問題?編輯 2
# yaourt -Sy ntp warning: downgrading package ntp (4.2.8.p10-1 => 4.2.8.p9-2) Packages (1) ntp-4.2.8.p9-2 :: Proceed with installation? [Y/n] :: Retrieving packages... ntp-4.2.8.p9-2-x86_64 (1/1) downgrading ntp # systemctl start ntpd && systemctl status ntpd ● ntpd.service - Network Time Service Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2017-04-24 21:14:41 CEST; 5s ago # yaourt -Qi ntp Name : ntp Version : 4.2.8.p9-2 # systemctl status | grep -m1 State: State: running
問題解決了。降級到ntp -4.2.8.p9-2是解決方案。感謝您的幫助並提供相應的資源。
這看起來像這個錯誤,內容如下:
4.2.8.p10-1 顯然已被 openssl 重建替換為 4.2.8.p9-2。
我假設OpenSSL 更新的重建在暫存的時間足夠長,可以同時被新上游版本的更新所取代,但是當 OpenSSL 重建從暫存轉移到社區時,版本號較低的包被替換具有較高的那個。
編輯:看起來4.2.8.p10-2已經上傳以糾正這種情況。