查詢所有套件/儲存庫中的所有路徑而不安裝?

查詢所有套件/儲存庫中的所有路徑而不安裝?

假設我想建立一個安裝指令的新包,即向 /bin 或 /usr/bin 新增一個檔案。

但我還沒有命名該指令。因此,如果我遇到衝突,我想盡快找出答案。

因此,考慮到我有一些儲存庫(Fedora、RPM fusion...),是否有一個查詢可以幫助我驗證特定檔案/命令不會被目前可用的任何其他套件安裝?

答案1

不要走只檢查 Fedora 的路線,因為當您想將其打包到其他地方時,或者 Fedora 引入一個名稱與您的名稱衝突的現有應用程式時,您會遇到問題。

當我編寫的應用程式進入官方儲存庫時,我有一個發行版打包程式強迫我更改該應用程式中命令的(簡短、活潑)名稱,因為它與一些古老但仍然可用的垃圾發生衝突。您不妨現在就得到它。

從一個相當獨特的名稱開始搜尋網絡使用一個(或兩個)搜尋引擎。還搜尋至少 來源鍛造github直接地。即使某些東西似乎針對完全不同的作業系統(Windows、IOS 等),也要避免衝突。

如果您無法僅使用命令名稱來搜尋網路(即,不要搜尋「linux mycommandname」),因為它會傳回太多不相關的內容,則該單字不夠唯一(這包括事實證明存在於外語中的單字) 、澳大利亞流行音樂品牌名稱等)。這可能意味著至少 5 個字元;在這一點上,少於這個數字只是乞求巧合,多一些可能會更好。最好為命令使用一個長的、描述性的名稱 ( ),並讓人們根據需要superFooBar創建自己的短別名 ( ),而不是創建一個近乎無意義的短別名(首字母縮略詞、刪除元音的單字等)。foo這不會很快進入 POSIX,它是一個晦澀的、可選的應用程序,應該為了清晰而不是為了方便而進行標記。


如果您只想搜尋特定係統上可用的儲存庫,您可以使用yum provides

yum provides "*/superFooBar"

注意裡面有一個球形星號的引號;這可以防止 shell 擴展 it,因此它將按字面傳遞給yum,後者以相同的方式將其視為通配符。這將搜尋所有儲存庫中所有軟體包安裝的所有檔案的完整路徑,因此匹配可能包括等/usr/bin/superFooBar/etc/default/superFooBar

再次強調,如果您打算在組織內公開或私下分發此內容,我建議您不要這樣做。如果它只是為了你和你負有一些個人責任的機器,那很好——否則它就不夠徹底。

相關內容