我如何知道哪些端口是我自己编译的,哪些是从预编译的二进制包安装的?

我如何知道哪些端口是我自己编译的,哪些是从预编译的二进制包安装的?

我有两个 FreeBSD 10.2-RELEASE 系统,我正在尝试将第二个系统设置为与第一个系统几乎相同。我不想使用 ZFS 快照来完成此任务;我只想选择、安装和编译相同的软件版本。

在安装第一个系统期间,我知道我使用该pkg工具安装了一些二进制端口,并且还从层次结构make install clean中的源代码编译了一些包/usr/ports/

现在,当我pkg info在第一个系统上运行时,它会显示这两种类型。我想知道是否有任何方法可以区分哪些是从源代码编译的,而无需回顾我的 shell 历史记录。

我发现我可以pkg query -e '%a = 0' %o找到非自动安装包,那么它们一定是我选择的包,但我仍然不能完全分辨出哪些是我从源代码编译的。

非常感谢。

答案1

您可以使用存储库 ( %R)。第一次尝试:

pkg query "%R %o" | grep unknown

当然你可以用awk( awk '/unknown/ {print $2}') 或 来过滤sed

相关内容