当前位置:首页>Linux>如何在 Ubuntu 或 Debian Linux 上安装 FOG 服务器

如何在 Ubuntu 或 Debian Linux 上安装 FOG 服务器

  • 2026-10-11 05:48:49
如何在 Ubuntu 或 Debian Linux 上安装 FOG 服务器
如果你在办公室、学校机房或企业环境中管理多台计算机,你肯定知道一台一台安装操作系统是多么繁琐。拿着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 服务器方案意味着你的镜像基础设施运行在稳定、免费的软件之上,而不是昂贵的专有解决方案。常见的使用场景包括:
教育机构在学期之间为计算机教室重装系统
企业IT部门部署标准化的员工工作站
MSP(托管服务提供商)高效地设置客户机器
维修店将机器恢复到出厂配置

FOG 服务器的系统要求

在你开始在 Debian 或 Ubuntu 上安装 FOG 服务器之前,请确保你的硬件和网络满足以下要求。

硬件要求

FOG本身很轻量,但镜像存储需要空间:
CPU:任何现代 64 位处理器(推荐多核,以加快压缩/解压速度)
内存:最低2 GB,推荐4 GB或更多
存储:这完全取决于你计划存储多少镜像。单个 Windows 11 镜像根据安装的软件不同,大小可能在 15-50 GB 之间。建议为 FOG 分区至少准备 100 GB 空间,越大越好。
网络接口:强烈建议使用千兆以太网——在 100 Mbps 网络下进行镜像传输会非常缓慢。

网络要求

有线网络连接(Wi-Fi 无法用于 PXE 启动)
能够控制你的DHCP 服务器,或者能够运行FOG 内置的 DHCP服务
支持PXE/TFTP流量的网络交换机(大多数默认支持)

支持的操作系统

FOG 官方支持:
Ubuntu:20.04 LTS, 22.04 LTS, 24.04 LTS或26.04 LTS
Debian: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 配置,请准备好以下信息:
服务器 IP 地址
子网掩码
网关地址
DNS 服务器地址

使用有线连接

PXE 启动发生在任何操作系统加载之前,因此 Wi-Fi 驱动程序不可用。你的 FOG 服务器和客户端机器都必须通过网线连接。

了解安全启动 (Secure Boot) 的影响

启用了 UEFI 安全启动的现代机器可能会拒绝 PXE 启动未签名的引导程序。你有两个选择:
在客户端 BIOS/UEFI 设置中禁用安全启动
配置 FOG 使用已签名的引导加载程序(更复杂,但能保持安全性)
对于大多数内部部署场景,在镜像过程中临时禁用安全启动是更实际的选择。

在 Ubuntu 或 Debian 上安装 FOG 服务器的分步指南

现在让我们开始实际的安装。以下步骤适用于 Ubuntu 和 Debian,差异很小。

步骤 1 – 更新系统

从一个干净、完全更新的系统开始。这可以确保你拥有最新的安全补丁,并且软件包依赖关系能够正确解析。
sudo apt update && sudo apt upgrade -y
如果内核有更新,请在继续之前重启系统:
sudo reboot
为什么这很重要:在过时的系统上安装 FOG 可能会导致软件包冲突。安装程序期望的某些库版本可能与未打补丁的系统上的版本不同。

步骤 2 – 安装所需软件包

FOG 的安装程序会自动处理大多数依赖关系,但你需要 git 来下载源代码:
sudo apt install git -y
在最小化安装的服务器上,你可能还想安装一些基础工具:
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。
让 DHCP 处理 DNS 或根据需要配置它。
安装过程需要 10-20 分钟,具体取决于你的网络速度和硬件。它会安装并配置:
Apache Web 服务器
MariaDB 数据库
PHP 和所需模块
TFTP 服务器
NFS 用于镜像存储
FOG 服务和 Web 界面
你会看到访问 FOG Web 界面的链接,使用它来初始化数据库。

步骤 5 – 完成 FOG Web 界面设置

当脚本完成后,你会看到一条消息,指示你通过 Web 界面完成设置。打开浏览器并访问:
http://你的服务器IP/fog/management
你会看到一个数据库安装/更新页面。点击“Install/Update Now”按钮。这将创建必要的数据库架构。完成后,你会被重定向到登录页面。

如何访问 FOG Web 仪表板

安装完成后,通过以下地址访问 FOG 管理控制台:
http://你的服务器IP/fog/management

默认登录凭据

  • 用户名:fog
  • 密码:password
请在首次登录后立即更改这些凭据。进入仪表板的“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 流量没有到达服务器。请检查:
  1. TFTP 服务是否在运行? sudo systemctl status tftpd-hpa
  2. 防火墙规则是否允许 UDP 端口 69?
  3. 客户端是否与服务器在同一网段?
  4. 对于 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 的场景:
  • 预算有限
  • 需要跨平台镜像(Windows 和 Linux)
  • 你的部署需求是直接的克隆/镜像
  • 你习惯基于社区的支持
当你需要供应商支持合同、高级操作系统部署序列或与企业管理套件集成时,可以选择商业工具。

最后的一些想法

建立一个FOG 项目 Windows 镜像基础设施一开始可能看起来很复杂,但一旦配置好,它将彻底改变你处理机器部署的方式。你不再需要花几个小时进行重复安装,而是只需捕获一次完美的参考镜像,然后在几分钟内部署到任意数量的机器上。
初期投入学习 FOG 的时间,会在每次需要以下操作时得到回报:
  • 设置新员工的工作站
  • 为新学期刷新计算机教室
  • 从恶意软件感染中快速恢复
  • 在整个设备群中保持一致的配置
如果你已经按照本指南操作,现在应该有一个可以工作的 FOG 服务器,准备捕获你的第一个镜像。从一台测试机器开始,练习捕获和部署的工作流程,在将其推广到生产系统之前建立信心。
FOG 并不花哨,也不会赢得设计奖项。但它可靠、高效且真正有用——这正是基础设施软件应该具备的品质。对于那些厌倦了U盘和手动安装的系统管理员来说,这是一款值得掌握的工具。

最新文章

随机文章