返回顶部
l

linux-patcherLinux自动修补

Automated Linux server patching and Docker container updates. Use when the user asks to update, patch, or upgrade Linux servers, apply security updates, update Docker containers, check for system updates, or manage server maintenance across multiple hosts. Supports Ubuntu, Debian, RHEL, AlmaLinux, Rocky Linux, CentOS, Amazon Linux, and SUSE. Includes PatchMon integration for automatic host detection and intelligent Docker handling.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 3.0.2
安全检测
已通过
1,647
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

linux-patcher

Linux Patcher

通过SSH自动完成多台主机的Linux服务器补丁和Docker容器更新。

⚠️ 重要声明

发行版支持状态

已全面测试:

  • - ✅ Ubuntu - 已使用真实基础设施进行端到端测试

支持但未经测试:

  • - ⚠️ Debian GNU/Linux - 命令基于官方文档
  • ⚠️ Amazon Linux - 支持AL2(yum)和AL2023(dnf)
  • ⚠️ RHEL(红帽企业Linux) - 支持RHEL 7(yum)和8+(dnf)
  • ⚠️ AlmaLinux - 兼容RHEL,使用dnf
  • ⚠️ Rocky Linux - 兼容RHEL,使用dnf
  • ⚠️ CentOS - 支持CentOS 7(yum)和8+(dnf)
  • ⚠️ SUSE/OpenSUSE - 使用zypper包管理器

测试建议:
始终先在非生产环境中测试未经测试的发行版。在未经测试的发行版上运行时,脚本会发出警告。

安全须知

此技能需要:

  • - 免密码sudo访问 - 配置有限权限
  • SSH密钥认证 - 不存储或传输密码
  • PatchMon凭据 - 安全存储在用户主目录中

阅读SETUP.md获取完整的安全配置指南。

快速开始

自动模式(推荐)

从PatchMon修补所有主机(自动检测):
bash
scripts/patch-auto.sh

跳过Docker更新(仅更新软件包):
bash
scripts/patch-auto.sh --skip-docker

预览更改(试运行):
bash
scripts/patch-auto.sh --dry-run

手动模式(备选)

单台主机 - 仅更新软件包
bash
scripts/patch-host-only.sh user@hostname

单台主机 - 完整更新
bash
scripts/patch-host-full.sh user@hostname /path/to/docker/compose

从配置文件更新多台主机
bash
scripts/patch-multiple.sh config-file.conf

功能特性

  • - PatchMon集成 - 自动检测需要更新的主机
  • 智能Docker检测 - 自动检测Docker和Compose路径
  • 选择性更新 - 使用--skip-docker标志跳过Docker更新
  • 需要免密码sudo - 使用visudo或/etc/sudoers.d/文件配置
  • SSH密钥认证 - 无需密码提示
  • 并行执行 - 同时更新多台主机
  • 试运行模式 - 预览更改而不实际应用
  • 手动覆盖 - 无需PatchMon即可在特定主机上运行更新

配置

选项1:通过PatchMon自动配置(推荐)

配置PatchMon凭据以实现自动主机检测:

bash
cp scripts/patchmon-credentials.example.conf ~/.patchmon-credentials.conf
nano ~/.patchmon-credentials.conf

设置您的凭据:
bash
PATCHMON_URL=https://patchmon.example.com
PATCHMON_USERNAME=your-username
PATCHMON_PASSWORD=your-password

然后直接运行:
bash
scripts/patch-auto.sh

脚本将:

  1. 1. 查询PatchMon获取需要更新的主机
  2. 自动检测每台主机上的Docker
  3. 应用适当的更新(仅主机或完整更新)

选项2:单台主机(快速手动)

直接使用命令行参数运行脚本(无需配置文件)。

选项3:多台主机(手动配置)

基于scripts/patch-hosts-config.example.sh创建配置文件:

bash
cp scripts/patch-hosts-config.example.sh my-servers.conf
nano my-servers.conf

示例配置:
bash

主机定义:主机名,SSH用户,Docker路径


HOSTS=(
webserver.example.com,ubuntu,/opt/docker
database.example.com,root,/home/admin/compose
monitor.example.com,docker,/srv/monitoring
)

更新模式:host-only或full

UPDATE_MODE=full

试运行模式(设置为false以应用更改)

DRY_RUN=true

然后运行:
bash
scripts/patch-multiple.sh my-servers.conf

前提条件

控制机要求(运行OpenClaw的机器)

  • - [ ] OpenClaw 已安装并运行
  • [ ] SSH客户端 已安装(ssh命令可用)
  • [ ] Bash 4.0或更高版本
  • [ ] curl 已安装(用于PatchMon API)
  • [ ] jq 已安装(用于JSON解析)
  • [ ] PatchMon 已安装(用于检查哪些主机需要更新)
- 不需要安装在OpenClaw主机上 - 可以安装在任何可通过HTTPS访问的服务器上 - 下载地址:https://github.com/PatchMon/PatchMon

安装缺失工具:
bash

Ubuntu/Debian


sudo apt install curl jq

RHEL/CentOS/Rocky/Alma

sudo dnf install curl jq

macOS

brew install curl jq

目标主机要求

  • - [ ] SSH服务器 正在运行且可访问
  • [ ] SSH密钥认证 已配置(免密码登录)
  • [ ] 免密码sudo 已为修补命令配置(参见SETUP.md)
  • [ ] Docker 已安装(可选,仅用于完整更新)
  • [ ] Docker Compose 已安装(可选,仅用于完整更新)
  • [ ] PatchMon代理 已安装并上报(可选但推荐)

PatchMon设置(自动模式必需)

PatchMon用于自动检测哪些主机需要修补。

重要提示: PatchMon不需要安装在OpenClaw所在的同一台服务器上。将PatchMon安装在一台单独的服务器上(可以是网络中的任何服务器),OpenClaw将通过API查询它。

下载PatchMon:

  • - GitHub: https://github.com/PatchMon/PatchMon
  • 文档: https://docs.patchmon.net

您需要:

  • - [ ] PatchMon服务器安装在任意可访问的服务器上(不一定是OpenClaw主机)
  • [ ] PatchMon代理安装在所有需要修补的目标主机上
  • [ ] PatchMon API凭据(用户名/密码)
  • [ ] 从OpenClaw主机到PatchMon服务器的网络连接(HTTPS)

架构:

┌─────────────────┐ HTTPS API ┌─────────────────┐
│ OpenClaw主机 │ ──────────────────> │ PatchMon服务器 │
│ (本机) │ 查询更新 │ (独立主机) │
└─────────────────┘ └─────────────────┘

│ 上报

┌─────────────────┐
│ 目标主机 │
│ (带代理) │
└─────────────────┘

快速开始:

  1. 1. 在独立服务器上安装PatchMon服务器(参见GitHub仓库)
  2. 在所有需要修补的主机上安装PatchMon代理
  3. 配置OpenClaw以访问PatchMon API:

bash
cp scripts/patchmon-credentials.example.conf ~/.patchmon-credentials.conf
nano ~/.patchmon-credentials.conf # 设置PatchMon服务器URL
chmod 600 ~/.patchmon-credentials.conf

详细设置:
参见references/patchmon-setup.md获取完整安装指南。

没有PatchMon可以使用此技能吗?
可以!您可以使用手动模式定位特定主机,无需PatchMon。但是,自动检测需要更新的主机需要PatchMon。

目标主机要求

必需:

  • - SSH服务器正在运行
  • SSH用户的免密码sudo(用于apt和docker命令)
  • PatchMon代理已安装并上报(用于自动模式)

完整更新需要:

  • - Docker和Docker Compose已安装
  • Docker Compose文件存在于指定路径

配置免密码sudo

在每台目标主机上,创建/etc/sudoers.d/patches:

bash

对于Ubuntu/Debian系统


username ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/docker

对于RHEL/CentOS系统

username ALL=(ALL) NOPASSWD: /usr/bin/yum, /usr/bin/docker, /usr/bin/dnf

将username替换为您的SSH用户。使用sudo -l验证。

更新模式

仅主机更新

仅更新系统软件包:

  • - 运行apt update && apt upgrade(或RHEL上的yum

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 linux-patcher-1776357680 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 linux-patcher-1776357680 技能

通过命令行安装

skillhub install linux-patcher-1776357680

下载

⬇ 下载 linux-patcher v3.0.2(免费)

文件大小: 30.08 KB | 发布时间: 2026-4-17 15:12

v3.0.2 最新 2026-4-17 15:12
linux-patcher 3.0.2

- Updated documentation files: README.md, SETUP.md, and SKILL.md.
- SKILL.md: Added explicit requirement for PatchMon to be installed (not necessarily on the same host) in the prerequisites. Clarified download location and minimum requirements on the control machine.
- No functional or code changes; this is a documentation and requirement update only.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部