自动化批量 Linux 服务器补丁管理与 Docker 容器更新,支持 PatchMon 智能主机检测与多发行版运维,适合大规模基础设施维护。
说明:
## 核心功能
`linux-patcher` 是一款面向 DevOps/SRE 的自动化服务器维护工具,通过 SSH 批量执行 Linux 系统补丁(apt/yum/dnf/zypper)与 Docker 容器更新。核心工作流分为两类:
– **Host-Only 模式**:仅更新系统包,适合无容器环境或最小停机场景
– **Full 模式**:系统包 + Docker 镜像拉取 + 容器重建,适合完整维护窗口
### 显著优点
1. **PatchMon 深度集成**:自动查询待更新主机列表,免维护静态配置
2. **智能 Docker 探测**:自动检测 Docker 安装状态与 Compose 文件路径,动态决策更新策略
3. **多发行版支持**:Ubuntu(实测)、Debian、RHEL/Alma/Rocky/CentOS、Amazon Linux、SUSE 全覆盖
4. **安全设计**:SSH 密钥认证 + 无密码 sudo 限制特定命令(apt/docker/dnf 等),无密码存储
5. **灵活执行**:支持自动批量、单主机手动、多主机配置、Dry-run 预览、并行执行
### 潜在局限与风险
– **测试覆盖不均**:仅 Ubuntu 经过完整测试,其余发行版基于文档实现,生产环境需先行验证
– **需要预配置**:目标主机需预配 SSH 密钥、无密码 sudo、可选 PatchMon Agent,首次部署门槛较高
– **无自动回滚**:容器更新失败后需人工介入查看日志并手动回滚
– **不处理内核重启**:检测 `/var/run/reboot-required` 但不自动重启,需人工安排维护窗口
– **PatchMon 依赖**:自动模式依赖外部 PatchMon 服务可用性,单点故障风险
### 适合人群
– 管理 10+ 台 Linux 服务器的中小运维团队
– 使用 Docker Compose 部署的容器化基础设施
– 需要夜间自动化补丁但不希望容器频繁重启的场景(可 `–skip-docker`)
### 常规风险
| 风险等级 | 场景 | 缓解措施 |
|———|——|———|
| **高** | Docker 容器重建导致服务中断 | 使用 `–skip-docker` 或安排在低峰期 |
| **中** | 补丁兼容性问题导致应用故障 | Dry-run 预览 + staging 环境先行验证 |
| **中** | PatchMon 不可用导致自动化中断 | 保留手动配置文件作为 fallback |
| **低** | sudo 配置过宽导致权限提升 | 严格限制 `/etc/sudoers.d/` 命令白名单 |
## 使用建议
首次使用务必阅读 `SETUP.md` 完成安全加固,生产环境建议从 `–dry-run` 开始,配合 PatchMon 监控实现闭环运维。









