默认情况下,系统运行了一些定时任务从服务器下载系统更新信息,具体涉及内核、安全策略、重要的系统软件等;
作为程序员,主要将系统用作相对封闭的开发测试环境,系统更新会起反作用:
1、扰乱应用程序对开发环境的版本依赖关系;
2、执行手动安装其他应用软件时与其产生锁冲突,耽误开发进度;
3、系统开关机时(特别是虚拟机)长时间的检查等待;
测试环境信息
# 发行版
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
# 内核
$ uname -a
Linux host6 5.19.0-40-generic #41~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 31 16:00:14 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
自动更新服务主要分为定时器、执行和安装这几个部分,每个部分包含多个子程序;
其大致执行流程为:定时器定时触发服务完成相关更新升级(只完成服务器数据同步),最后由安装模块生效。
定时器
- apt-daily.timer
- apt-daily-upgrade.timer
执行
- apt-daily.service
- apt-daily-upgrade.service
安装
- unattended-upgrades
示例
# 先查看状态
$ systemctl status apt-daily.timer
● apt-daily.timer - Daily apt download activities
Loaded: loaded (/lib/systemd/system/apt-daily.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Fri 2023-04-21 18:02:50 CST; 17h ago
Trigger: Sun 2023-04-23 03:00:01 CST; 15h left
Triggers: ● apt-daily.service
4月 21 18:02:50 host6 systemd[1]: Started Daily apt download activities.
# 再关闭&禁止自启
$ systemctl stop apt-daily.timer
$ systemctl disable apt-daily.timer
Removed /etc/systemd/system/timers.target.wants/apt-daily.timer.
建议
- 检查两个服务是否正在运行,是则关闭;
- 检查两个对应的定时器任务是否正在运行,是则关闭并禁用;