Ubuntu 20.04 如何禁用自动更新,删除更新提示和缓存

Ubuntu 的软件自动更新有点强悍,一个 1 G 多的镜像,自动更新后,体积暴增到 10 G 以上,任何未经许可的软件更新(包括静默下载)都是不可接受的。以下方法可以彻底禁止 Ubuntu 的自动更新。

特别提示:Ubuntu 在安装的时候会联网检查更新,安装最新的更新,请务必断网安装!!!

Ubuntu Server
一般步骤
修改配置文件

关闭 Update-Package-Lists

sudo sed -i.bak ‘s/1/0/’ /etc/apt/apt.conf.d/10periodic

关闭 unattended-upgrades

sudo sed -i.bak ‘s/1/0/’ /etc/apt/apt.conf.d/20auto-upgrades

也可以通过以下命令选择 No

sudo dpkg-reconfigure unattended-upgrades

禁用 unattended-upgrades 服务

sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades

可选:移除 unattended-upgrades

#sudo apt remove unattended-upgrades
清空 apt 缓存

可选:清空缓存

sudo apt autoremove #移除不在使用的软件包
sudo apt clean && sudo apt autoclean #清理下载文件的存档
sudo rm -rf /var/cache/apt
sudo rm -rf /var/lib/apt/lists
sudo rm -rf /var/lib/apt/periodic
重置更新通知(更新提示数字)

如果执行 sudo apt update 命令后,登录会提示如下:

257 updates can be installed immediately.
133 of these updates are security updates.
To see these additional updates run: apt list --upgradable
恢复原始状态:

sudo vi /var/lib/update-notifier/updates-available

第一行是空白

0 updates can be installed immediately.
0 of these updates are security updates.
或者直接删除文件(推荐):

sudo rm -f /var/lib/update-notifier/updates-available
删除后提示如下(sudo apt update 后会自动恢复):

The list of available updates is more than a week old.
To check for new updates run: sudo apt update
禁用内核更新
快速命令

以下一条命令即可禁用内核更新,后面是一些相关命令,仅供查阅。

禁用内核更新

sudo apt-mark hold linux-generic linux-image-generic linux-headers-generic

恢复内核更新

sudo apt-mark unhold linux-generic linux-image-generic linux-headers-generic
可选:在 unattended-upgrades 配置文件中禁用内核更新

sudo vi /etc/apt/apt.conf.d/50unattended-upgrades

找到 Package-Blacklist 字段,加入如下内容

Unattended-Upgrade::Package-Blacklist {
“linux-generic”;
“linux-image-generic”;
“linux-headers-generic”;
};
查看安装的内核

dpkg --list | grep linux-
ii binutils-x86-64-linux-gnu 2.34-6ubuntu1.1 amd64 GNU binary utilities, for x86-64-linux-gnu target
ii linux-base 4.5ubuntu3 all Linux image base package
ii linux-firmware 1.187 all Firmware for Linux kernel drivers
ii linux-generic 5.4.0.26.32 amd64 Complete Generic Linux kernel and headers
ii linux-headers-5.4.0-26 5.4.0-26.30 all Header files related to Linux kernel version 5.4.0
ii linux-headers-5.4.0-26-generic 5.4.0-26.30 amd64 Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii linux-headers-generic 5.4.0.26.32 amd64 Generic Linux kernel headers
ii linux-image-5.4.0-26-generic 5.4.0-26.30 amd64 Signed kernel image generic
ii linux-image-generic 5.4.0.26.32 amd64 Generic Linux kernel image
ii linux-libc-dev:amd64 5.4.0-81.91 amd64 Linux Kernel Headers for development
ii linux-modules-5.4.0-26-generic 5.4.0-26.30 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii linux-modules-extra-5.4.0-26-generic 5.4.0-26.30 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
清理多余的内核

sudo apt purge linux-image-x.x.x-x # x.x.x-x 代表内核版本数字
sudo apt purge linux-headers-x.x.x-x
sudo apt autoremove # 自动删除不在使用的软件包

#卸载完内核后需要执行下列命令更新 grub
sudo update-grub
查看可用的内核更新命令

apt list --upgradable | grep linux-

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

linux-base/focal-updates 4.5ubuntu3.6 all [upgradable from: 4.5ubuntu3]
linux-firmware/focal-updates 1.187.16 all [upgradable from: 1.187]
linux-generic/focal-updates,focal-security 5.4.0.81.85 amd64 [upgradable from: 5.4.0.26.32]
linux-headers-generic/focal-updates,focal-security 5.4.0.81.85 amd64 [upgradable from: 5.4.0.26.32]
linux-image-generic/focal-updates,focal-security 5.4.0.81.85 amd64 [upgradable from: 5.4.0.26.32]
禁用(彻底移除)snapd
Ubuntu Snaps 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu 16.04 LTS(Long Term Support,长期支持版)时引入的一种容器化的软件包格式。自 Ubuntu 16.04 LTS 起,Ubuntu 操作系统可以同时支持 Snap 及 Debian 这两种格式的安装包。

snap 虽然有一定的优点(请自行搜索),但是不足之处更多。snap 软件包体积庞大,snapd 进程会导致系统重启等待,并且可能导致卡顿,禁用为佳。

禁用 snapd 不会影响系统运行,包括桌面版本,安装 deb 软件包就很好!

#sudo systemctl disable --now snapd
#sudo systemctl disable --now snapd.socket
#sudo systemctl disable snapd
但是重启后,snapd 仍然运行

验证状态

systemctl status snapd
已经确认 snapd 是无法禁用的,只能强制删除。

(1)删掉所有的已经安装的 Snap 软件。

for p in $(snap list | awk ‘{print $1}’); do
sudo snap remove $p
done
一般需要执行两次,提示如下则正确执行:

snap “Name” is not installed
core18 removed
snapd removed
再次执行,提示如下,表明已经删除干净:

No snaps are installed yet. Try ‘snap install hello-world’.
(2)删除 Snap 的 Core 文件。

sudo systemctl stop snapd
sudo systemctl disable --now snapd.socket
for m in /snap/core/*; do
sudo umount $m
done
(3)删除 Snap 的管理工具。

sudo apt autoremove --purge snapd
关键指令!经过测试只要这一条基本上可以快速删除完毕。

(4)删除 Snap 的目录。

rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd
(5)删除 Snap 的更新源(禁用 snapd)。

sudo sh -c “cat > /etc/apt/preferences.d/no-snapd.pref” << EOL
Package: snapd
Pin: origin “”
Pin-Priority: -1
EOL
Ubuntu Desktop
Ubuntu Desktop 与 Server 版的上述配置是一致的。只是增加了额外的更新管理器的图形界面配置。

图形界面配置
在这里插入图片描述
图形界面配置某些选项的储存值为 2,所以修改配置文件多加一句指令为妥:

(以下两个配置文件在 Server 版默认配置文件为 2 条,Desktop 版默认配置文件为 4 条)

关闭 Update-Package-Lists

sudo sed -i ‘s/1/0/’ /etc/apt/apt.conf.d/10periodic
sudo sed -i ‘s/2/0/’ /etc/apt/apt.conf.d/10periodic

关闭 unattended-upgrades

sudo sed -i ‘s/1/0/’ /etc/apt/apt.conf.d/20auto-upgrades
sudo sed -i ‘s/2/0/’ /etc/apt/apt.conf.d/20auto-upgrades
可选:删除更新通知程序

#删除更新通知程序
sudo apt-get remove update-notifier

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优质网络系统领域创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值