用途
该技能面向 Debian 服务器主机的管理,适用范围包括应用、容器或 Docker Swarm 所使用的主机。可用于安装、加固、更新或诊断 Debian 主机。具体触发范围涵盖主机上的 APT、systemd、journald、SSH、nftables、sysctl、磁盘、挂载、用户、组、时区、NTP 以及 Docker Engine。
主要能力
在提出变更前,不预设 Debian 版本,而是读取 /etc/os-release、架构、内核、init、文件系统、容量和服务器的角色。流程包括:在 $specsfy-specialist-deploy 下询问环境由哪些机器组成,并在 ansible/inventory.yml 中登记别名、地址、SSH 端口、初始用户和 Swarm 中的角色;添加服务器时保留现有条目,并在配置新主机前先进行测试。记录版本、架构、内核、uptime、负载、内存、磁盘、挂载、网络、失败单元和待处理软件包。识别主机角色、暴露的服务、维护窗口、恢复访问以及是否由 Ansible 管理。创建 deploy 运维用户、添加其 SSH 公钥、定义 sudo 与权限,且在测试第二个会话之前不撤销当前访问。配置 APT 与安全更新,规划内核或库需要时进行的服务重启和 reboot。应用与拓扑兼容的防火墙;在 Swarm 中,仅在授权节点之间包含控制、发现和 overlay 流量。将内核调整持久化到 /etc/sysctl.d/,有条件地应用并在变更后测量工作负载行为。验证 systemd、journald、空间、inode、时钟、DNS、连通性,并在合适环境中进行受控重启。
使用方式与规范
使用与已安装 release 对应的仓库,并核对外部软件包来源,不混用 Debian suite 以获得新版本。将服务保持在 systemd 单元或官方软件包中,定义 restart、依赖、限制和日志,不用 SSH 会话维持进程。在当前 Debian 上优先使用 nftables,并保存启动时加载的配置;在关闭现有连接前先测试新的管理会话。在 /etc/sysctl.d/ 中创建小型具名文件,记录每个参数的用途,避免没有归属的通用块。根据可用磁盘配置日志轮转与保留,并在 Docker 停止创建层之前对文件系统和 inode 使用率发出告警。将 Docker socket 与 docker 组访问视为对主机的广泛管理访问。
验证与限制
使用 systemd-analyze verify 验证自有单元,变更后查看 systemctl --failed。重载 SSH 前执行 sshd -t,并在结束应用变更的连接前打开新的认证会话。reload 前执行 nft --check --file /etc/nftables.conf,并从应或不应访问主机的网络测试端口。执行 sysctl --system 后读取参数,并在重启后再次测试。使用 apt-get --simulate upgrade,在可用时检查 needrestart,确认自动更新使用的 timer。对 Docker 主机,在维护前后检查 daemon、日志轮转、空间、inode、网络和持久化。不要在无替代访问和明确授权时执行 reboot、发行版升级、SSH 或远程防火墙变更。相关技能包括 $specsfy-specialist-deploy、$specsfy-specialist-ansible、$specsfy-specialist-docker 和 $specsfy-specialist-docker-swarm。可阅读 references/standards.md 获取 Debian 基线、Docker 操作和带有官方来源的检查命令。