Yum

告訴 yum 本地共享庫依賴項在哪裡

  • October 14, 2020

我們正在安裝我們使用建構的自定義 rpm rpmbuild。在安裝過程中,它依賴於特定文件而失敗,在我們的例子中是libnvidia-ml.so.1

Requires: libnvidia-ml.so.1()(64bit)

這是安裝在包管理器上/usr/lib64但不是通過包管理器安裝的,包管理器無法更改。有沒有辦法告訴yum在哪裡可以找到這個文件?

我在手冊中沒有發現任何明顯的內容,並且LD_LIBRARY_PATH沒有效果。

有沒有辦法告訴 yum 在哪裡可以找到這個文件?

yum/dnf專門諮詢您的 RPM 數據庫 - 沒有辦法告訴它考慮外部文件。

將此庫打包為 RPM 並安裝它或安裝您需要安裝的任何內容rpm --nodeps [packages]

更新

您最好的選擇是.so通過您的自定義建構包本身提供 -File 或添加另一個提供共享庫的自定義包。


以下不起作用,因為可用庫似乎也儲存在 rpmdb 中

在這種特殊情況下,依賴項不是文件,而是共享庫。應該可以手動添加庫。

  1. 確保為添加庫的路徑配置ldconfig
grep -R /usr/lib64 /etc/ld.so.*

如果沒有,請選擇已配置的路徑,或將路徑添加到配置中。 2. 執行ldconfig以重新創建連結和記憶體

ldconfig -v

您應該在輸出中看到您的共享庫。

最後,您應該能夠安裝該軟體包。

引用自:https://unix.stackexchange.com/questions/614488