如果你在办公室、学校机房或企业环境中管理多台计算机,你肯定知道一台一台安装操作系统是多么繁琐。拿着U盘或DVD穿梭于各个工位之间不仅耗时,而且效率低下,还容易出现配置不一致的问题。这正是 FOG 项目要解决的问题。在本指南中,你将学习如何在 Ubuntu 或 Debian Linux 上安装 FOG 服务器,从而获得通过网络同时向数十台甚至数百台计算机部署 Windows(包括 Windows 11)、Linux 和其他操作系统的能力。无论你是学校系统的管理员、管理企业设备群的IT技术人员,还是想尝试网络镜像技术的 Homelab 爱好者,这份 FOG 项目安装指南都会一步步带你完成操作,并清楚解释每一步的目的和原因。什么是 FOG 项目?它是如何工作的?
FOG (Free Open-source Ghost)是一个基于网络的计算机克隆和管理解决方案,可在 GitHub 上获取。与需要物理介质的传统镜像工具不同,FOG 使用 PXE(预启动执行环境)让客户端计算机直接从网络启动,然后捕获或部署磁盘镜像。捕获:你设置一台参考机器,将 Windows 或 Linux 配置成你想要的最终状态——安装好驱动程序、配置好软件、打上更新补丁。FOG 会将其捕获为一个镜像存储在服务器上。部署:当你需要设置新机器或重装现有机器时,客户端计算机通过PXE从网络启动。FOG 会自动将存储的镜像推送到这些机器上。管理:FOG 还提供资产跟踪、Active Directory 集成、打印机管理和计划任务等功能。基于 Linux 的 FOG PXE 服务器方案意味着你的镜像基础设施运行在稳定、免费的软件之上,而不是昂贵的专有解决方案。常见的使用场景包括:FOG 服务器的系统要求
在你开始在 Debian 或 Ubuntu 上安装 FOG 服务器之前,请确保你的硬件和网络满足以下要求。硬件要求
CPU:任何现代 64 位处理器(推荐多核,以加快压缩/解压速度)存储:这完全取决于你计划存储多少镜像。单个 Windows 11 镜像根据安装的软件不同,大小可能在 15-50 GB 之间。建议为 FOG 分区至少准备 100 GB 空间,越大越好。网络接口:强烈建议使用千兆以太网——在 100 Mbps 网络下进行镜像传输会非常缓慢。网络要求
有线网络连接(Wi-Fi 无法用于 PXE 启动)能够控制你的DHCP 服务器,或者能够运行FOG 内置的 DHCP服务支持PXE/TFTP流量的网络交换机(大多数默认支持)支持的操作系统
Ubuntu:20.04 LTS, 22.04 LTS, 24.04 LTS或26.04 LTSDebian:11 (Bullseye), 12 (Bookworm)其他发行版也可以运行,但 Ubuntu 和 Debian 接受的测试和社区支持最多。在生产环境中,请坚持使用 LTS 版本。安装 FOG 前的准备工作
花几分钟时间做准备,可以为你节省数小时的排错时间。分配静态 IP 地址
你的FOG服务器需要一个固定的IP 地址。如果 DHCP 在重启后分配了一个新地址,客户端机器将找不到你的 PXE 服务器。你可以通过路由器的 DHCP 保留功能或直接在服务器的网络配置中设置静态 IP。对于使用 Netplan 的 Ubuntu/Debian 系统,你需要编辑 /etc/netplan/ 下的配置文件。对于使用传统网络管理的系统,则修改 /etc/network/interfaces。FOG 安装程序会询问你的 IP 配置,请准备好以下信息:使用有线连接
PXE 启动发生在任何操作系统加载之前,因此 Wi-Fi 驱动程序不可用。你的 FOG 服务器和客户端机器都必须通过网线连接。了解安全启动 (Secure Boot) 的影响
启用了 UEFI 安全启动的现代机器可能会拒绝 PXE 启动未签名的引导程序。你有两个选择:配置 FOG 使用已签名的引导加载程序(更复杂,但能保持安全性)对于大多数内部部署场景,在镜像过程中临时禁用安全启动是更实际的选择。在 Ubuntu 或 Debian 上安装 FOG 服务器的分步指南
现在让我们开始实际的安装。以下步骤适用于 Ubuntu 和 Debian,差异很小。步骤 1 – 更新系统
从一个干净、完全更新的系统开始。这可以确保你拥有最新的安全补丁,并且软件包依赖关系能够正确解析。sudo apt update && sudo apt upgrade -y
为什么这很重要:在过时的系统上安装 FOG 可能会导致软件包冲突。安装程序期望的某些库版本可能与未打补丁的系统上的版本不同。步骤 2 – 安装所需软件包
FOG 的安装程序会自动处理大多数依赖关系,但你需要 git 来下载源代码:在最小化安装的服务器上,你可能还想安装一些基础工具:sudo apt install curl wget net-tools -y
步骤 3 – 从 GitHub 下载 FOG 项目
克隆官方的 FOG 仓库。始终使用官方源,以避免代码被篡改:cd /optsudo git clone https://github.com/FOGProject/fogproject.git
这将在 /opt/fogproject/ 目录下创建包含最新开发版本的文件。对于生产环境的稳定性,你可以签出特定的发布标签,但 FOG 的开发分支通常也是稳定的。步骤 4 – 运行 FOG 安装脚本
下载项目后,切换到其 bin 文件夹并执行安装脚本。cd /opt/fogproject/binsudo ./installfog.sh
安装程序是交互式的,会询问几个问题。以下是大多数设置场景下的推荐答案:你想在哪个版本的 Linux 上安装 FOG?让默认选项保持选中即可。关键的 DHCP 决策:如果你已有DHCP服务器(你的路由器、Windows Server 等),请回答 N。安装过程需要 10-20 分钟,具体取决于你的网络速度和硬件。它会安装并配置:你会看到访问 FOG Web 界面的链接,使用它来初始化数据库。步骤 5 – 完成 FOG Web 界面设置
当脚本完成后,你会看到一条消息,指示你通过 Web 界面完成设置。打开浏览器并访问:http://你的服务器IP/fog/management
你会看到一个数据库安装/更新页面。点击“Install/Update Now”按钮。这将创建必要的数据库架构。完成后,你会被重定向到登录页面。如何访问 FOG Web 仪表板
安装完成后,通过以下地址访问 FOG 管理控制台:http://你的服务器IP/fog/management
默认登录凭据
请在首次登录后立即更改这些凭据。进入仪表板的“User Management”更新密码。保留默认凭据是一个严重的安全风险,尤其是当你的 FOG 服务器可以从本地网络之外访问时。常见安装问题及解决方法
即使是很小心的安装也可能会遇到问题。以下是我在帮助他人配置 FOG 服务器时最常见的问题。DHCP 冲突
症状:客户端获取了 IP 地址,但无法 PXE 启动,或者启动到了错误的服务器。解决方案:在没有仔细配置的情况下,你不能在同一网段运行两个分发地址的 DHCP 服务器。要么禁用 FOG 的 DHCP 并为你现有的服务器配置选项 66/67,要么禁用所有其他 DHCP 服务器,让 FOG 处理一切。防火墙阻止服务
解决方案:FOG 需要多个端口。在 Ubuntu/Debian 上使用 UFW 时:sudo ufw allow 80/tcp # HTTPsudo ufw allow 443/tcp # HTTPSsudo ufw allow 69/udp # TFTPsudo ufw allow 21/tcp # FTPsudo ufw allow 2049/tcp # NFSsudo ufw allow 9098/tcp # FOG Services
为了测试,你可以使用 sudo ufw disable 暂时禁用防火墙,但在生产环境中请用正确的规则重新启用它。PXE 启动不工作
症状:客户端显示 “PXE-E32: TFTP open timeout” 或类似错误。解决方案:这通常表示 TFTP 流量没有到达服务器。请检查:- TFTP 服务是否在运行? sudo systemctl status tftpd-hpa
- 对于 UEFI 客户端,确保你使用了正确的启动文件(使用 ipxe.efi 或 snponly.efi 而不是 undionly.kpxe)。
FOG 服务器安全吗?适合生产环境使用吗?
对于任何处理关键基础设施的开源工具,这是一个合理的问题。安全考虑
FOG 通常通过本地网络以未加密方式传输镜像。对于大多数内部网络,这是可以接受的。然而:- 如果可能,将你的 FOG 服务器放在管理 VLAN 上
- 保持 FOG 更新:cd /opt/fogproject && sudo git pull && sudo ./bin/installfog.sh
- 如果你的防火墙支持,将仪表板访问限制为管理员 IP
请注意,FOG 曾有过安全漏洞,例如认证绕过和文件上传导致的代码执行。虽然这些问题已被修复,但这强调了及时更新和遵循安全最佳实践的重要性。社区支持
FOG 拥有活跃的社区,提供论坛、维基文档和定期更新。与已废弃的项目不同,FOG 持续获得开发关注。当你遇到问题时,在 FOG 论坛中搜索通常会找到解决方案。FOG 与商业工具对比
FOG 非常适合直接的镜像需求。然而,像微软的 SCCM(现在是 Endpoint Manager 的一部分)或 Symantec Ghost 等商业工具提供更深入的 Windows 集成、补丁管理和企业支持合同。选择 FOG 的场景:当你需要供应商支持合同、高级操作系统部署序列或与企业管理套件集成时,可以选择商业工具。最后的一些想法
建立一个FOG 项目 Windows 镜像基础设施一开始可能看起来很复杂,但一旦配置好,它将彻底改变你处理机器部署的方式。你不再需要花几个小时进行重复安装,而是只需捕获一次完美的参考镜像,然后在几分钟内部署到任意数量的机器上。初期投入学习 FOG 的时间,会在每次需要以下操作时得到回报:如果你已经按照本指南操作,现在应该有一个可以工作的 FOG 服务器,准备捕获你的第一个镜像。从一台测试机器开始,练习捕获和部署的工作流程,在将其推广到生产系统之前建立信心。FOG 并不花哨,也不会赢得设计奖项。但它可靠、高效且真正有用——这正是基础设施软件应该具备的品质。对于那些厌倦了U盘和手动安装的系统管理员来说,这是一款值得掌握的工具。