【ubuntu】【unattended-upgrades 介绍】

unattended-upgrades 介绍

unattended-upgrades 是 Debian/Ubuntu 系统中一个重要的自动化安全更新工具。它的主要功能是在无需人工干预的情况下,自动下载并安装系统的安全更新,这对于保持服务器安全性和稳定性至关重要。

主要特点:

复制代码
自动安全更新:定期检查并安装安全补丁

配置灵活:可通过 /etc/apt/apt.conf.d/50unattended-upgrades 配置文件自定义更新行为

日志记录:所有操作都会记录在 /var/log/unattended-upgrades/ 目录中

邮件通知:可配置邮件通知,了解更新状态

黑白名单:可以指定哪些包需要或不需要自动更新

适用场景:

复制代码
生产服务器需要自动安全更新

需要最小化系统维护工作量的环境

确保系统及时获得关键安全补丁

命令解析

systemctl status unattended-upgrades

作用:检查 unattended-upgrades 服务的运行状态

输出信息包括:

复制代码
服务是否正在运行

最近的服务日志片段

服务的进程ID

服务的启动时间

服务的配置文件信息

示例输出:

text 复制代码
● unattended-upgrades.service - Unattended Upgrades Shutdown
   Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2024-01-09 10:00:00 UTC; 1 day ago
   Main PID: 1234 (unattended-upgr)
   Status: "Processing updates..."

2. sudo systemctl stop unattended-upgrades

作用:立即停止 unattended-upgrades 服务

效果:

复制代码
服务会立即停止运行

正在进行的更新会被中断

服务停止后,系统将不再自动检查和应用更新

注意:这只是临时停止,重启后服务可能会再次运行(除非同时使用 disable)

使用场景:

复制代码
需要手动控制系统更新时

进行维护操作前暂停自动更新

解决由更新引起的紧急问题

3. sudo systemctl disable unattended-upgrades

作用:禁止 unattended-upgrades 服务在系统启动时自动运行

效果:

复制代码
服务不会随系统启动而自动运行

需要手动启动服务才能恢复自动更新

与 stop 命令不同,disable 是持久性的设置

使用场景:

复制代码
希望完全控制更新时机

在特定环境中需要手动管理更新

与其他更新管理系统集成时

组合使用建议

临时停止并禁用(完全关闭自动更新):

bash 复制代码
sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades

重新启用自动更新:

bash 复制代码
sudo systemctl enable unattended-upgrades
sudo systemctl start unattended-upgrades

仅临时停止,重启后恢复:

bash 复制代码
sudo systemctl stop unattended-upgrades
# 重启后服务会自动恢复

注意事项

警告:禁用自动安全更新可能会使系统面临安全风险。建议:

复制代码
如果禁用自动更新,请建立定期手动更新流程

至少保持安全更新的自动安装

在生产环境中谨慎操作

考虑使用配置调整而不是完全禁用(如调整更新频率、设置维护窗口等)

最佳实践是配置 unattended-upgrades 只安装安全更新,并在可控的时间窗口内进行,而不是完全禁用它。

相关推荐
Felven22 分钟前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
Joy T34 分钟前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting
LabVIEW开发35 分钟前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
杨凯凡1 小时前
MySQL 死锁怎么排查?InnoDB 锁等待与 Spring Boot 整事务重试实战
数据库·spring boot·mysql
Aloudata1 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
Decay__1 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
zhanghaha13141 小时前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
韩曙亮2 小时前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
瑞雪兆丰年兮2 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
lsc_blog7 小时前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘