ubuntu自动更新--unattended-upgrades

ubuntu自动更新--unattended-upgrades

  • [1 介绍](#1 介绍)
  • [2 发展历程](#2 发展历程)
  • [3 配置与使用](#3 配置与使用)
  • [4 disable Auto update](#4 disable Auto update)
  • 参考

1 介绍

Unattended-Upgrades 是一个用于自动更新 Debian 及其衍生系统(如 Ubuntu)的工具。它的主要功能是自动检查、下载并安装系统更新,特别是安全更新,从而确保系统的安全性和稳定性。该工具通过后台运行,无需用户干预,大大简化了系统维护工作。

2 发展历程

Unattended-Upgrades 最初是为了简化 Debian 系统的安全更新流程而开发的。随着 Ubuntu 的发展,它逐渐成为 Ubuntu 系统中默认安装的组件之一。从 Ubuntu 16.04 开始,Unattended-Upgrades 的更新触发机制从传统的 cron 定时任务转变为通过 systemd 的 timer unit 来实现。这种改进使得更新任务的调度更加灵活和高效。

3 配置与使用

安装:可以通过命令 sudo apt-get install unattended-upgrades 安装该工具。

配置:主要配置文件位于 /etc/apt/apt.conf.d/50unattended-upgrades,用户可以在此文件中指定自动更新的规则,例如允许更新的软件源、是否自动移除未使用的依赖包等。

自定义更新频率:通过编辑 /etc/apt/apt.conf.d/20auto-upgrades 文件,可以设置更新检查和安装的频率。

shell 复制代码
bot@u22:/etc/apt/apt.conf.d$ ls
00aptitude        15update-stamp       20packagekit           60icons
00trustcdrom      20apt-esm-hook.conf  20snapd.conf           60icons-hidpi
01autoremove      20archive            50appstream            70debconf
01-vendor-ubuntu  20auto-upgrades      50command-not-found    99update-notifier
10periodic        20dbus               50unattended-upgrades
bot@u22:/etc/apt/apt.conf.d$ cat 20auto-upgrades 
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

4 disable Auto update

Ubuntu uses the unattended-upgrades package to handle automatic updates. You can disable this service to prevent automatic updates.

复制代码
# 显示状态
bot@u22:~/sen$ systemctl status unattended-upgrades
● unattended-upgrades.service - Unattended Upgrades Shutdown
     Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; >
     Active: active (running) since Wed 2025-04-06 06:25:39 CST; 12min ago
       Docs: man:unattended-upgrade(8)
   Main PID: 1003 (unattended-upgr)
      Tasks: 2 (limit: 4551)
     Memory: 11.7M
        CPU: 264ms
     CGroup: /system.slice/unattended-upgrades.service
             └─1003 /usr/bin/python3 /usr/share/unattended-upgrades/unattended->

4月 06 06:25:39 u22 systemd[1]: Started Unattended Upgrades Shutdown.
# 停止服务
bot@u22:~/sen$ sudo systemctl stop unattended-upgrades
[sudo] password for bot: 
# 取消服务的开机启动
bot@u22:~/sen$ sudo systemctl disable unattended-upgrades
Synchronizing state of unattended-upgrades.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable unattended-upgrades
Removed /etc/systemd/system/multi-user.target.wants/unattended-upgrades.service.
bot@u22:~/sen$ systemctl status unattended-upgrades
○ unattended-upgrades.service - Unattended Upgrades Shutdown
     Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; disabled;>
     Active: inactive (dead)
       Docs: man:unattended-upgrade(8)

4月 06 06:25:39 u22 systemd[1]: Started Unattended Upgrades Shutdown.
4月 06 06:52:48 u22 systemd[1]: Stopping Unattended Upgrades Shutdown...
4月 06 06:52:48 u22 systemd[1]: unattended-upgrades.service: Deactivated succes>
4月 06 06:52:48 u22 systemd[1]: Stopped Unattended Upgrades Shutdown.
bot@u22:~/sen$

服务命令

shell 复制代码
systemctl enable:除了激活服务以外,也可以置服务为开机启动
systemctl disable:取消服务的开机启动

systemctl start:依次启动定义在 Unit 文件中的 ExecStartPre、ExecStart 和 ExecStartPost 命令
systemctl stop:依次停止定义在 Unit 文件中的 ExecStopPre、ExecStop 和 ExecStopPost 命令
systemctl restart:重启服务
systemctl kill:立即杀死服务

service service_name status:查看服务状态

参考

1、How to disable Auto update for my instance

2、Linux 服务管理 service systemd systemctl

相关推荐
湮雨塵飛7 小时前
解决使用VsCode远程ssh连接虚拟机ubuntu需要重复输入密码
vscode·ubuntu·ssh
碎忆8 小时前
在VMware中安装虚拟机Ubuntu
linux·ubuntu
农民小飞侠8 小时前
ubuntu 安装pyllama教程
linux·python·ubuntu
小白也有IT梦9 小时前
解决 Ubuntu 上 Docker 安装与网络问题:从禁用 IPv6 到配置代理
ubuntu·docker·网络配置
慕雪华年12 小时前
【SLAM】ubuntu 18.04 编译安装 OpenCV 3.2.0 时出现哈希错误
opencv·ubuntu·哈希算法
_长银15 小时前
Ubuntu-搭建nifi服务
linux·运维·ubuntu
m0_5211182315 小时前
Ubuntu在桌面缺少图标
linux·ubuntu
小小菜鸟,可笑可笑17 小时前
Win10系统安装WSL2-Ubuntu, 并使用VScode开始工作
linux·vscode·ubuntu
矛取矛求18 小时前
VMware 安装 Ubuntu 实战分享
linux·运维·ubuntu
CAE虚拟与现实19 小时前
在 WSL2的 Ubuntu 20.04 中安装 Docker
linux·ubuntu·docker