最近使用 Perl 脚本时,我收到一条错误消息,指出“用户空间和内核不同步”。在谷歌搜索后,我发现可能我还没有做过make buildworld
我理解“make buildworld”是从一个版本升级到另一个版本的过程,我的问题是可以buildworld
使用 cd/dvd 光盘运行,而不是通过互联网下载源和必要的文件。如果可以,请提供一些文档链接。如果不可以,请提供使用互联网文件的文档链接。我已经看过了http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
我们总是感谢帮助。
非常感谢
答案1
是的,CD/DVD 包含 FreeBSD 的所有来源,您不需要从互联网上下载它们。
插入 FreeBSD CD,运行sysinstall
go to configure -> Distributions -> checksrc
然后使用 FreeBSD 手册中的说明。
附言:次要的升级我用这个脚本
#!/bin/sh
# Shell setup
set -x
set -u
set -e
# Variables
KERNCONF=PH34R.9
KERNCONF_STR="KERNCONF=${KERNCONF}"
MAKE_ARGS="-j5"
MAKE_CMD="make"
MAKE="$MAKE_CMD ${MAKE_ARGS}"
# Preparation
rm -rf /usr/obj/usr/src/sys/${KERNCONF}
${MAKE} clean
${MAKE} kernel-toolchain
# Build and Install
${MAKE} buildkernel ${KERNCONF_STR}
${MAKE} buildworld
rm -f /boot/kernel/*.symbols
${MAKE} installkernel ${KERNCONF_STR}
${MAKE} installworld
# Merge configs
mergemaster -iFU
答案2
我定期进行 buildworld 构建,从未遇到过任何问题。我每周至少遵循一次的正常程序是:
- 跑步韓國同步源树和 ports 树。(需要正确制作的“supfile”)
- 重建新内核和“世界”。我有一个快速而简单的 bash 脚本。
- 安装仅有的内核。
- 启动新内核,必须处于单用户模式才能正确安装“world”。安装“world”。按照文档中的建议运行mergemaster。此步骤通常需要约 5 分钟。
- 在多用户模式下正常启动。
- 使用 portmaster 工具安装更新的端口(端口管理器-L查看可升级的端口,端口管理器继续升级)。
不要忘记使用屏幕在远程工作时。
答案3
您可能应该先找出它们不同步的原因。也许它们不同步,脚本是错误的。如果您从一些随机源构建世界,它可能仍然不同步。为确保万无一失,您将按照手册中的步骤从同一源构建和安装世界和内核。来自 CD 的源代码可以正常工作,但不能保证降级成功,我们不知道任何细节。