System-Installation
將缺少的發行版添加到正在執行的 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
那是對的嗎?
可能實際上不必使用
bsdinstall
,但它提供了一定程度的確認。所有這些實際上都在手冊頁中:bsdinstall(8)。我只是讀得不夠仔細。作為記錄:下載需要 2 個環境變數:
DISTRIBUTIONS
和BSDINSTALL_DISTSITE
(BSDINSTALL_DISTDIR
是可選的,預設為/usr/freebsd-dist
)。中列出的名稱DISTRIBUTIONS
必須與實際文件名匹配(例如doc.txz
,而不是doc
)。BSDINSTALL_DISTSITE
是下載地址。amd64
URL 具有指定平台和版本(及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