根据FreeBSD手册( http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html ),我在FreeBSD 8.0中build立了一个“服务监狱”(Service Jail)。 将主机升级到最新的修补程序级别然后执行jail-upgrade后,freebsd-fetch仍会报告jail中有需要更新的文件。 这是预期的吗? 那我怎么知道监狱是否是最新的呢?
在freebsd-update fetch的最初设置报告之后,主机系统和监狱都没有可用的更新。 这是预料之中的。 一段时间后, freebsd-update fetch报告说,下列文件需要在主机和监狱中进行更新。
我更新了主持人,并遵循了监狱升级指南( http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html#JAILS-SERVICE-JAILS-UPGRADING )。 freebsd-update fetch现在报告主机中没有可用的更新,但以下是来自jail 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知道监狱是最新的或我升级失败了吗? 我怎么知道如果freebsd更新不能告诉监狱是否是最新的?
我确信我在make buildworld之前跑了两次。
TIA
本手册的这一部分没有提及freebsd-update ,但是我对freebsd-update工作方式的理解意味着你的步骤不太正确。 特别是,我不认为freebsd-update涉及到你的源代码目录,所以你正在/usr/srcbuild立/安装你的任何东西(如果你没有运行cvsup,可能是-RELEASE源代码)。
你可能想在监狱里运行freebsd-update ,就像在主机上运行freebsd-update一样(或者cvsup到一个固定的源代码分支,然后根据你引用的手册章节来构build/安装)。
警告:我实际上并没有使用freebsd-update。 cperciva @(工具的作者)虽然在freebsd-questions列表中侦听,并且列表中的某个人也应该能够告诉你,如果我的逻辑正确或错误:)
不是一个答案,只是一个build议:
使用ezjail ( /usr/ports/sysutils/ezjail )来pipe理你的监狱