# Apache 2.4.68 Ubuntu 20.04 完整离线覆盖升级

适用范围：Ubuntu 20.04、amd64。包版本为 `2.4.68-0ubuntu20.04.3`。

本包恢复了 Ubuntu Focal 的 `HTTPD_ROOT=/etc/apache2` 编译语义，因此现有配置和第三方模块配置中的相对 `Include` 可以继续使用。包内包含四个升级 deb、完整递归运行时依赖、本地 APT 仓库、Focal `2.4.41-4ubuntu3.23` 回滚 deb、自动备份和回滚脚本。

## 安装

```bash
tar -xzf apache2-2.4.68-focal-overwrite-amd64-complete-v2.tar.gz
cd apache2-2.4.68-focal-overwrite-amd64
sha256sum -c SHA256SUMS
sudo ./install.sh
```

脚本会执行：平台检查、文件校验、完整备份 `/etc/apache2`、停止服务、从包内 `file:` APT 仓库解析依赖并安装四个核心包、配置检查、启动及状态检查。APT 源被临时限制为包内目录，不会访问网络。当前 Apache 已处于配置错误状态时，脚本仍可继续修复升级；任一步失败会自动尝试回滚。

安装后验证：

```bash
apache2ctl -V | grep HTTPD_ROOT
apache2 -v
sudo apache2ctl configtest
sudo systemctl status apache2 --no-pager
```

预期包含：

```text
-D HTTPD_ROOT="/etc/apache2"
Server version: Apache/2.4.68 (Ubuntu)
Syntax OK
```

## 回滚

```bash
cd apache2-2.4.68-focal-overwrite-amd64
sudo ./rollback.sh
```

回滚脚本会降级四个核心包到 `2.4.41-4ubuntu3.23`，并恢复安装前保存的完整 `/etc/apache2`。备份目录记录在 `/var/lib/apache2-offline-upgrade/last-backup`。

不要单独运行 `dpkg -i`，否则不会获得配置快照和失败自动回滚能力。自研或非 Focal 仓库来源的二进制 `.so` 模块仍需在预生产验证 ABI 兼容性。
