美文网首页
Ubuntu 16.04关闭系统自动更新

Ubuntu 16.04关闭系统自动更新

作者: 济南打工人 | 来源:发表于2020-05-13 16:57 被阅读0次

背景

在使用阿里云ECS服务器时,服务器CPU与内存突然增大,经过排查发现是系统自动更新导致,幸运的是不是发生在业务高峰期,为了避免出现类似的情况,决定禁用系统自动更新,可以通过手动或者定时任务的方式执行更新。

自动更新进程

root@iZ2ze27qvrkwva4san9r7vZ:~# ps -aux | grep python
root     20073  9.9  0.3 153552 26960 ?        R    13:48   2:17 /usr/bin/python3 /usr/lib/ubuntu-release-upgrader/check-new-release -q

通过定时任务执行更新

Ubuntu 默认定义了 4 个 systemd unit 执行更新任务,它们分别是:

/lib/systemd/system/apt-daily-upgrade.service
/lib/systemd/system/apt-daily-upgrade.timer
/lib/systemd/system/apt-daily.service
/lib/systemd/system/apt-daily.timer

其中的 apt-daily.timer 和 apt-daily-upgrade.timer 是两个触发器,分别在每天指定的时间触发 apt-daily.service 和 apt-daily-upgrade.service。这两个 service 的类型都是 oneshot,意思是当任务完成后 service 进程退出。这两个 service 其实调用的是同一个脚本: /usr/lib/apt/apt.systemd.daily。 apt-daily.service 为脚本传入参数 "update",其功能为检查系统的更新并下载对应的更新包。apt-daily-upgrade.service 为脚本传入参数 "install",其功能为安装更新并删除缓存在本地的更新包。

apt-daily.timer 默认每天触发两次,分别为 6 点和 18 点,主要是为了缓解服务器端的下载压力。我们可以根据自身业务的特点设置合适的触发时间。
apt-daily-upgrade.service 默认每天在 6 点触发一次

关闭自动更新

systemctl stop apt-daily.service
systemctl stop apt-daily.timer
systemctl stop apt-daily-upgrade.service
systemctl stop apt-daily-upgrade.timer
systemctl disable apt-daily.service
systemctl disable apt-daily.timer
systemctl disable apt-daily-upgrade.service
systemctl disable apt-daily-upgrade.timer

或者修改自动更新程序的配置文件也可以,同时更新 /etc/apt/apt.conf.d/10periodic 和 /etc/apt/apt.conf.d/20auto-upgrades:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

改为

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

相关文章

网友评论

      本文标题:Ubuntu 16.04关闭系统自动更新

      本文链接:https://www.haomeiwen.com/subject/dexonhtx.html