Arch-Linux
當舊的共享對象(so)連結到較新的共享對象(so)時,解決“沒有可用的版本資訊”的有效方法是什麼?
上下文:Arch Linux 包管理器:pacman
執行幾乎任何
pacman
命令都會產生警告:pacman: /opt/plexmediaserver/libcurl.so.4: no version information available (required by /usr/lib/libalpm.so.10)
我已經看到了解決方案和錯誤報告,但是在下一次更新推出之前,管理員如何解決這個問題?我聽說要學習管理思維過程,而不是尋找極簡主義的答案。
- 刪除符號連結並冒著破壞依賴的風險?
- 安裝舊版本並安裝了兩個版本?
- 恢復到舊版本(
pacman -U pkgname
來自/var/cache/pacman/pkg/
)並將 pkg 的名稱添加到 IgnPackage 部分/etc/pacman.conf
?- 等待和希望最好的?
- 其他一些技術?
文件系統輸出
ls -lsa /usr/lib/libcurl*
很明顯 libcurl.so.4 -> libcurl.so.4.5.0* 是連結的。
0 lrwxrwxrwx 1 root root 16 23. Okt 13:27 libcurl.so -> libcurl.so.4.5.0* 0 lrwxrwxrwx 1 root root 16 23. Okt 13:27 libcurl.so.4 -> libcurl.so.4.5.0* 520 -rwxr-xr-x 1 root root 530656 23. Okt 13:28 libcurl.so.4.5.0*
這些是步驟,當您有一個不工作的 aur 包時:
- 重建 aur 包,它可能會連結到新版本的庫。
- 如果維護者更新了 PKGBUILD,則更新 aur 包
- 如果沒有幫助,請更新/修復 PKGBUILD
- 如果您沒有這樣做,請安裝舊版本並等待。
- 如果您需要更新其他包,請刪除有問題的 aur 包。
第一步擷取 sonamebumps。在其他情況下,您確實應該更新或刪除 aur 包。如果有新的 PKGBUILD 可用,您不應該等待。
如果你真的想停留在一個特定的版本,只做第一步和第三步。