我有两个 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
。