如何列出所有从源代码编译安装的程序?

如何列出所有从源代码编译安装的程序?

从源代码安装的程序不会显示在包管理器中。是否有其他位置记录所有通过编译安装的程序?

答案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其中不是从包中安装。

相关内容