檔案系統輸出ls -lsa /usr/lib/libcurl*

檔案系統輸出ls -lsa /usr/lib/libcurl*

情境:ArchLinux 套件管理器: 吃豆人

運行幾乎任何pacman命令都會產生警告:

pacman: /opt/plexmediaserver/libcurl.so.4: no version information available (required by /usr/lib/libalpm.so.10)

我已經看到了解決方案和錯誤報告,但是在下一個更新出現之前,管理員如何解決這個問題?我聽說要學習管理思考過程,而不是尋找極簡主義的答案。

  1. 刪除符號連結並冒破壞依賴關係的風險?
  2. 安裝舊版並安裝了兩個版本?
  3. 還原到舊版本(pacman -U pkgname/var/cache/pacman/pkg/)並將 pkg 名稱新增至/etc/pacman.conf?的 IgnPackage 部分
  4. 等待並希望最好的結果?
  5. 還有其他技術嗎?

檔案系統輸出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*

答案1

當您有一個不工作的 aur 套件時,請執行以下步驟:

  • 重建 aur 包,它可能會連結到新版本的庫。
  • 如果維護者更新了 PKGBUILD,則更新 aur 套件
  • 如果沒有幫助,請更新/修復 PKGBUILD
  • 如果失敗,請安裝舊版本並等待。
  • 如果您需要更新其他軟體包,請刪除有問題的 aur 軟體包。

第一步抓住了 sonamebumps。在其他情況下,您確實應該更新或刪除 aur 包。如果有新的 PKGBUILD 可用,您不應該等待。

如果您確實想保留特定版本,只需執行第一步和第三步。

答案2

為了子孫後代,我找到了真正的罪魁禍首。事實是,在寫問題時,我誤解了這個問題。

解決方案

在一些實驗中,我添加了export LD_LIBRARY_PATH=/opt/plexmediaserver我的 bash 設定檔。

我只需要刪除它。共享庫路徑恢復正常 ( /usr/lib),生活也恢復正常。

printenv我透過以正確的用戶身份運行來解決這個問題。

相關內容