如何判断 freebsd jail 是否是最新的?

如何判断 freebsd jail 是否是最新的?

我根据 FreeBSD 手册在 FreeBSD 8.0 中设置了一个“服务监狱”(http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html)。将主机升级到最新补丁级别,然后执行 jail-upgrade 后,freebsd-fetch 仍然报告 jail 中有需要更新的文件。这是预料之中的吗?那么我如何知道 jail 是否是最新的?

这是我所做的更详细的事情:

在初始设置 jail 后,freebsd-update fetch报告主机系统和 jail 中均无可用更新。这是意料之中的。一段时间后,freebsd-update fetch报告主机和 jail 中的以下文件均需要更新。

  • /usr/lib/libssl.a
  • /usr/lib/libssl_p.a
  • /usr/lib/libzpool.a
  • /usr/lib32/libssl.a
  • /usr/lib32/libssl_p.a
  • /usr/lib32/libzpool.a

我更新了主机并按照监狱的升级指南进行操作(http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html#JAILS-SERVICE-JAILS-UPGRADING)。freebsd-update fetch现在报告主机中没有可用的更新,但以下是freebsd-update fetch监狱中的输出:

[root@bb /]# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

The following files are affected by updates, but no changes have
been downloaded because the files have been modified locally:
/var/db/mergemaster.mtree

The following files will be updated as part of updating to 8.0-RELEASE-p2:
/usr/lib/libssl.a
/usr/lib/libssl_p.a
/usr/lib/libzpool.a
/usr/lib32/libssl.a
/usr/lib32/libssl_p.a
/usr/lib32/libzpool.a

freebsd-update 难道不知道 jail 是最新的吗?还是我升级失败了?如果 freebsd-update 都不知道,我怎么知道 jail 是否是最新的?

我确信我make cleandir之前跑过两次make buildworld

短暂性脑缺血发作

答案1

手册的这一部分没有提及freebsd-update,但freebsd-update根据我对工作原理的理解,您的步骤并不完全正确。特别是,我认为 不会freebsd-update触及您的源目录,因此您正在构建/安装您拥有的任何东西/usr/src(如果您没有运行 cvsup,则可能是 -RELEASE 源)。

freebsd-update您可能希望像在主机上一样在监狱中运行并让它做它的事情(或者 cvsup 到固定的源分支然后根据您引用的手册章节进行构建/安装)。


警告:我实际上并不使用 freebsd-update。cperciva@(该工具的作者)虽然在 freebsd-questions 列表上收听,并且列表中的某个人也应该能够告诉您我的上述逻辑是对还是错 :)

答案2

这不是答案,只是建议:
使用埃兹贾伊尔/usr/ports/sysutils/ezjail)管理你的监狱

相关内容