在 debianized Linux 发行版上,有dpkg --get-selections
、dpkg --set-selections
、dpkg -C
分别用于列出已安装的软件包、选择要安装的软件包列表以及列出处于部分安装或损坏状态的软件包。我想知道 FreeBSD 是否存在类似的东西(端口,而不是包)。我可以从 获取列表pkg_info
,但是有没有一种简单的方法可以在不使用cut
, for port in list
, cd
, 的情况下应用它make install
?
答案1
/usr/ports/ports-mgmt/portmaster 手册页有示例如何进行批量端口重新安装。
答案2
如果您想坚持使用 portupgrade,“portupgrade --all”将升级所有具有可用更新版本的 ports。如果您知道指定端口已损坏,则可以使用“--force”标志强制重新安装或降级。
您可以使用“portversion --fullname --verbose”获取已安装 ports 的当前版本列表,以及 ports 树中是否有更新的版本。
我不知道有什么工具可以自动检测部分安装的端口。