禁用 ubuntu 18.04 自动更新

禁用 ubuntu 18.04 自动更新

我正在运行 Ubuntu 18.04 服务器,并试图禁用所有更新和升级,但仍然不太确定具体该怎么做。忽略随之而来的安全性方面,如何通过命令行禁用 Ubuntu 18.04、MySQL、Apache 和 PHP 的自动更新?

据我所知,当我在 Ubuntu 上禁用自动更新/包列表更新时,MySQL Apache 和 PHP 不应该自动更新,对吗?

对于 Ubuntu,我发现的唯一东西是在 /etc/apt/apt.conf.d/10periodic 中:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";

我会将其设置为 0。

APT::Periodic::Update-Package-Lists "1";设置为 0 基本上使得任何包/软件(例如 MySQL Apache 和 PHP)都无法更新,对吗?

在 /etc/apt/apt.conf.d/50unattended-upgrades 中:

Unattended-Upgrade::Allowed-Origins {
          "${distro_id}:${distro_codename}";
          "${distro_id}:${distro_codename}-security";
          "${distro_id}ESM:${distro_codename}";
//        "${distro_id}:${distro_codename}-updates";
//        "${distro_id}:${distro_codename}-proposed";
//        "${distro_id}:${distro_codename}-backports";
};

在那里,我只需注释掉第 2-4 行。

我还需要做什么吗?或者此后所有自动更新/升级都被禁用了吗?

答案1

根据文档它说要更新中的设置/etc/apt/apt.conf.d/20auto-upgrades。所以我也会将这些设置更新为"0"

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

但为了万无一失,您仍然可以编辑/etc/apt/apt.conf.d/10periodic并更新以下设置"0"

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";

一旦完成上述更新,APT 管理的任何软件包都不会自动更新,包括 MySQL、Apache 和 PHP。

也可以设置APT::Periodic::Update-Package-Lists为,"0"因为您仍然可以在需要时使用 手动更新软件包列表,sudo apt update并使用 手动更新软件包sudo apt upgrade

您不需要对 进行任何更新/etc/apt/apt.conf.d/50unattended-upgrades

您可能还想禁用 snap 包自动更新但是 MySQL、Apache 和 PHP 通常由 APT 管理,所以如果您真正关心的只是这些包不会自动更新,那么这不是必需的。

重要提示:禁用自动更新也意味着您将不会收到系统的重要安全更新,因此,除非您养成定期更新软件包的习惯,否则最好保持自动更新处于启用状态。

答案2

从 cron 任务中删除更新。
我在 Ubuntu 18.04 上发现了 2 个文件:

/etc/cron.daily/update-notifier-common 
/etc/cron.weekly/update-notifier-common

删除这些文件或者注释掉文件内容

答案3

根据您所做的更改,无人值守升级应该被禁用。

作为检查,请关注 /var/lib/apt/periodic/ 几天。

$ ls -l /var/lib/apt/periodic/
total 0
-rw-r--r-- 1 root root 0 Aug 20 16:58 download-upgradeable-stamp
-rw-r--r-- 1 root root 0 Aug 21 06:56 unattended-upgrades-stamp
-rw-r--r-- 1 root root 0 Aug 20 16:58 update-stamp
-rw-r--r-- 1 root root 0 Aug 20 07:06 update-success-stamp
-rw-r--r-- 1 root root 0 Aug 21 06:56 upgrade-stamp

无人值守升级戳记应停止每日增加。

或者,您可以卸载该unattended-upgrades软件包。如果您改变主意,只需重新安装即可。

此外,您必须冻结不基于 deb 的 snap 包,因此不要使用 apt 或无人值守升级。有关 snap 包,请参阅如何停止 snapd 自动更新?

答案4

如果您只想阻止某些软件包更新,例如 Apache 和 PHP,您可能需要分别查看 apt-pinning 和 apt-hold。这些允许保留某个程序/软件包的某个版本,即使有较新的版本可用。请参阅固定方法在 Ubuntu Wiki 中。

相关内容