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