修复 FreeBSD 12 的“精简版”安装

修复 FreeBSD 12 的“精简版”安装

我有几个由前系统管理员制作的旧版 FreeBSD VM,他做了一些奇怪的技巧来节省虚拟机管理程序的存储空间:他从 iso 安装了一个 VM,对其进行了一些设置,安装了所需的软件,然后删除了 ports 树和所有包管理相关的目录(所以基本上 VM 被精简为 1-2 Gb),然后克隆此 VM 并根据需要更改一些设置。

现在,随着软件版本变旧并且需要考虑安全更新,我面临的问题是我无法对这些虚拟机做任何事情。

没有留下任何文档,也没有人知道此人对 FreeBSD 有深入的了解,所以我怀疑他在删除目录时是否做了类似外科手术的细化工作 —— 至少,没有 pkg​​ 或 freebsd-upgrade 可以处理文件系统缺失的部分。

有没有办法以“安装升级”模式运行 iso(就像可以使用 Windows 安装程序一样)以便安装的 FreeBSD 修复丢失的文件?

PS 我只能考虑从头开始设置相同的虚拟机并从“剥离”的虚拟机中复制配置,但这种方法非常耗时,所以也许可以用不同的方法来修复它?

谢谢你!

答案1

您可以从这里下载基本 tar:

https://download.freebsd.org/ftp/releases/amd64/amd64/13.0-RELEASE/base.txz

(请务必选择适当的版本和架构,这只是使用最新版本和 amd64 架构的示例 URL)

您应该能够使用 下载它fetch,然后在 中解压它/,但请务必事先将配置文件保存在 /etc/ 中,例如rc.confpasswdmaster.passwdgroup等。

这应该会让你恢复系统缺失的部分,所以你会有freebsd-update,等等。

从那里,您应该能够使用 bootstrap pkg/usr/sbin/pkg)来安装 的完整版本pkg。请参阅此页面:

https://docs.freebsd.org/en/books/handbook/ports/#pkgng-intro

了解更多详情。

除非您需要自定义软件包,否则您应该能够使用预构建的软件包,而不是自己从端口构建它们。如果您需要自定义,那么您需要从端口构建。您可以在此处找到更多详细信息:

https://docs.freebsd.org/en/books/handbook/ports/#ports-using

相关内容