‘ipkg search xxx’ 總是不返回答案
在 Synology NAS(使用“自製”*nix 變體(可能基於 Debian?))上,我安裝了 ipkg 包管理器。當我嘗試類似的命令時
ipkg search shred
或者
ipkg search *shred*
它只返回一行:
Successfully terminated
沒有任何包名。
我在範例中專門使用了 shred,因為我知道 shred 存在於我的平台並且是 coreutils 包的一部分(因此應該返回該答案。)
出了什麼問題?這是一個錯誤,我的語法錯誤還是其他原因?
編輯 -
我找到了答案 - 文件名需要用單引號括起來,例如
ipkg search '*shred*'
這將返回正確的答案 - coretutils。
我還發現 Pavel 是正確的,它只返回已安裝包的資訊,這不是我需要的。
如果我需要一個較大集合中的給定程序/實用程序但不知道哪個包包含它,我將如何查找要安裝的 pkg?
(這是允許的還是我應該開始另一個問題?)
我不認為包元數據包括文件列表。我相信
ipkg search
這只是為了獲取已安裝文件的包名稱,類似於rpm -qf
. 您可能需要提供已安裝文件的完整路徑。在查找有關coreutils包的資訊時,您可能需要嘗試以下操作:
ipkg info coreutils ipkg status coreutils ipkg files coreutils
您還可以查看已安裝和未安裝軟體包的結果有何不同。
在搜尋提供特定文件的已安裝包時,您可以使用:
ipkg search /path/to/installed/file
正如您在編輯的問題中指出的那樣,如果您不想指定完整的路徑名,則必須使用星號,例如:
ipkg search \*file ipkg search '*file'
在我看來,對於不存在或尚未安裝的文件,您無法獲得任何資訊。
您可能還需要檢查是否已下載軟體包的元數據並下載它們:
ipkg update
如果我需要一個較大集合中的給定程序/實用程序但不知道哪個包包含它,我將如何查找要安裝的 pkg?
ipkg在這裡無法為您提供幫助,因為它沒有數據。我認為您的發行版沒有像
apt-file
解決方案這樣的工具。在這種情況下,您通常需要恢復使用網路搜尋來獲取此類資訊。資料來源:
免責聲明:我只在 OpenWRT 上使用opkg,它非常接近ipkg。