我的 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 个环境变量:DISTRIBUTIONS
和BSDINSTALL_DISTSITE
(BSDINSTALL_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