如何列出所有已安裝的從原始碼編譯的程式?

如何列出所有已安裝的從原始碼編譯的程式?

從原始碼安裝的程式不會顯示在套件管理器中。是否有另一個位置記錄所有透過編譯安裝的程式?

答案1

不,從來源安裝某些東西只是複製文件,它不會記錄在任何地方。但是,預設情況下,從來源安裝的程式會複製到 中/usr/local/bin,而從套件安裝的程式會複製到/bin或中/usr/bin,因此ls /usr/local/bin可以讓您大致了解從來源安裝的內容如果你沒有使用--prefix=/usr.

如果您確實使用了--prefix=/usr,您仍然可以查看哪些檔案是從套件中安裝的,哪些檔案沒有使用dpkg -S:dpkg -S FILE將查看是否FILE是從套件中安裝的。如果是,它將列印包的名稱,否則將列印錯誤。因此,如果您想查看其中的哪些/usr/bin文件不是安裝成一個包,你可以做

for i in /usr/bin; do dpkg -S "$i" || echo "$i" >> ~/notfrompackages.txt; done

它會寫入所有文件notfrompackages.txt的清單中/usr/bin不是從套件安裝。

相關內容