将缺少的发行版添加到正在运行的 FreeBSD 的正确方法是什么?

将缺少的发行版添加到正在运行的 FreeBSD 的正确方法是什么?

我的 FreeBSD 10.0 机器是由托管公司安装的,他们遗漏了几个发行版。具体来说:src/src world/doc world/games world/lib32

如何最好地将这些重新添加到组合中,以便类似的工具freebsd-update能够识别它们的存在?

我最好的猜测:

export BSDINSTALL_DISTDIR=/usr/freebsd-dist
bsdinstall distfetch

export DISTRIBUTIONS="src doc games lib32"
export BSDINSTALL_CHROOT=/
bsdinstall distextract

那是对的吗?

答案1

可能实际上不必使用bsdinstall,但它提供了一定程度的确认。所有这些实际上都在手册页中:bsd安装(8)。我只是读得不够仔细。作为记录:

下载需要 2 个环境变量:DISTRIBUTIONSBSDINSTALL_DISTSITEBSDINSTALL_DISTDIR可选,默认为/usr/freebsd-dist)。中列出的名称DISTRIBUTIONS必须与实际文件名匹配(例如,doc.txz而不是doc)。BSDINSTALL_DISTSITE是下载网址。 URL 具有指定平台和版本(amd64及以下)的副作用10.0-RELEASE

提取还需要设置 1 个变量:BSDINSTALL_CHROOT。在这种情况下,/是正确的(典型用例,当启动到 CD 并安装到新磁盘时,更有可能是/mnt)。

export DISTRIBUTIONS="src.txz doc.txz games.txz lib32.txz"
export BSDINSTALL_DISTDIR=/var/tmp/freebsd-dist
export BSDINSTALL_DISTSITE="http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/10.0-RELEASE"
bsdinstall distfetch

export BSDINSTALL_CHROOT=/
bsdinstall distextract

相关内容