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

相关推荐
fangeqin8 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
风口上的吱吱鼠10 小时前
Armbian 25.5.1 Noble Gnome 开启远程桌面功能
服务器·ubuntu·armbian
笑衬人心。11 小时前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
生如夏花℡12 小时前
HarmonyOS学习记录3
学习·ubuntu·harmonyos
星宸追风13 小时前
Ubuntu更换Home目录所在硬盘的过程
linux·运维·ubuntu
BD_Marathon14 小时前
Ubuntu下的Tomcat服务器部署
服务器·ubuntu·tomcat
好奇的菜鸟1 天前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
好奇的菜鸟1 天前
如何在Ubuntu上检查MySQL是否启动并放开3306端口
mysql·ubuntu·adb
ZPC82101 天前
ubuntu 6.8.0 安装xenomai3.3
linux·运维·ubuntu
电脑能手1 天前
遇到该问题:kex_exchange_identification: read: Connection reset`的解决办法
linux·ubuntu·ssh