如何在 FreeBSD 上安装已删除的端口

如何在 FreeBSD 上安装已删除的端口

我正在维护一个依赖于 Postgis 1.5 的代码库。我的本地开发虚拟机正在运行 FreeBSD 9.2。我最近一直在修改软件包,无意中删除了 postgis,所以我尝试重新安装,结果发现 1.5 postgis 端口已从端口树中删除。我怎样才能找回那个端口?我知道我可以从源代码安装,但我宁愿让它由 pkg 控制。

答案1

总结:svn co svn://svn.freebsd.org/ports/head /usr/ports

我猜你只是删除了实际的 port 树目录。在这种情况下,你需要使用 svn 从中央 FreeBSD 存储库检索 ports 树的相关部分。这底漆可以帮助您实现这一点,与您最相关的可能是“部分检查”部分。如果这太耗时,只需检查整个端口树并获取所需的内容,并确保您有足够的磁盘空间来保存它。

答案2

重要的人生教训:

  1. 不要“修补”重要的系统。
  2. 如果你要忽略(1)并“修补”虚拟机,那么为了爱小猫拍一张快照!

正如您所发现的,Postgis 1.x 不再出现在端口树中,而且我也没有看到它的任何软件包(它来自 2012 年,所以您不应该对此感到惊讶!它早于您正在运行的操作系统...)。

如果您想自己构建此端口,则需要从 SVN 检索端口树并签出仍包含 postgis 1.5 端口的修订版。有关此操作的说明可在此处找到在 FreeBSD 手册中和 svn 文档(RELEASE_8_4_0似乎包含 postgis 1.5.3)。

答案3

如果某个端口已被删除,您可以通过 SVN 将其从垃圾箱中取出,但不能保证它继续工作。FreeBSD 中的大多数端口现在都是“暂存的”,这是一项基础设施变更,旨在改进软件包构建。

无论如何,您可以在这里查看该港口的历史:

http://www.freshports.org/databases/postgis/

您可以看到它在修订版 340004 中被删除,因此请查看该修订版之前的最后一个修订版

svn co -r 340003 svn://svn.freebsd.org/ports/head/databases/postgis /usr/ports/databases/

并正常编译。它可能会崩溃,特别是因为它可能依赖于 perl 和 postgres 等旧版本

您最好从那时开始检查整个端口树并使用它,但这样一来您就缺少所有的安全更新。

相关内容