如何停止 snapd 自动更新?

如何停止 snapd 自动更新?

我刚刚安装了 Ubuntu 18.04。几分钟后,我注意到我的带宽非常低。我安装nethogs后发现/usr/lib/snapd/snapd它正在消耗我的互联网。

问题:

  1. 我该如何禁用它?它确实阻止我上网。
  2. 安装 Ubuntu 时可以禁用 snap 包系统吗?

多谢,

答案1

  1. 您可以通过单击“开始”按钮来禁用服务的自动启动,然后搜索“启动应用程序”并像这样更改设置。


  1. 如果这些答案没有帮助,您可以执行以下操作:

    sudo systemctl mask snapd.service- 通过将服务链接到 /dev/null 来完全禁用该服务;您无法手动启动该服务或启用该服务。

    sudo systemctl unmask snapd.service- 删除到 /dev/null 的链接并恢复启用或手动启动服务的能力


如果您需要更新 snap 程序,您可以取消屏蔽并启动服务,然后使用命令snap refresh

答案2

Snap 软件包是获取比以前更多软件的好方法。现在,您可以通过 Snap 软件包获取 Skype、LibreOffice 最新版、GIMP 最新版、所有 JetBrains IDE 甚至游戏。

所有这些都是使用 Ubuntu 软件应用程序安装的,无需使用命令行。

对您来说,重要的问题是:您真的需要禁用 snap 包吗?

暂时禁用 snap 包 (直到重启或者使用 运行start) :

sudo systemctl stop snapd.service

要永久禁用 snap 包:

sudo systemctl stop snapd.service
sudo systemctl disable snapd.service

要重新启用 snap 包:

sudo systemctl reenable snapd.service
sudo systemctl start snapd.service

答案3

您可以使用以下方式停止并屏蔽 snapd 服务:

systemctl mask snapd.service
systemctl stop snapd.service

然后使用这个脚本,它将使您能够轻松更新您的快照:

#!/bin/bash

# this script unmasks and starts the snapd service, do a refresh and disables it again

set -x
systemctl unmask snapd.service
systemctl start snapd.service
systemctl status --no-pager snapd.service
snap refresh
systemctl mask snapd.service
systemctl stop snapd.service
sleep 2
kill -9 $(pgrep snapd)

将其放入/usr/local/sbin/snap-update并赋予其可执行权限chmod +x

然后你就可以运行:

sudo snap-update

我创建这里有一个要点在安装新的快照后,也会删除旧的快照。

注意:如果您运行apt自动更新程序,并且由 管理的软件包有更新snapd,则如果 snapd 被屏蔽,它就会挂起,因此请记住在这种情况下取​​消 snapd 的屏蔽并apt upgrade重新启动。

答案4

您可以将快照的更新时间更改为星期一凌晨 12 点,如下所示:

sudo snap set system refresh.timer=mon,12:00

然后你必须刷新它

sudo snap refresh

如上所述,您还可以暂时禁用更新:

sudo systemctl stop snapd.service

相关内容