unattended-upgrades
除非我手动运行,否则不会更新软件包列表apt-get update
。我如何让它更新软件包列表,以便它在无人值守的情况下执行升级?我正在运行带有 Ubuntu 18.04 的 VPS 服务器,使用来自 Vultr 的 Wordpress 映像。
内容/var/log/unattended-upgrades/unattended-upgrades.log
:
2021-05-01 06:41:22,558 INFO Initial blacklisted packages:
2021-05-01 06:41:22,559 INFO Initial whitelisted packages:
2021-05-01 06:41:22,559 INFO Starting unattended upgrades script
2021-05-01 06:41:22,559 INFO Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESMApps,a=bionic-apps-security, o=UbuntuESM,a=bionic-infra-security, o=Ubuntu,a=bionic-updates
2021-05-01 06:41:25,040 INFO No packages found that can be upgraded unattended and no pending auto-removals
2021-05-02 06:07:22,666 INFO Initial blacklisted packages:
2021-05-02 06:07:22,667 INFO Initial whitelisted packages:
2021-05-02 06:07:22,667 INFO Starting unattended upgrades script
2021-05-02 06:07:22,667 INFO Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESMApps,a=bionic-apps-security, o=UbuntuESM,a=bionic-infra-security, o=Ubuntu,a=bionic-updates
2021-05-02 06:07:25,055 INFO No packages found that can be upgraded unattended and no pending auto-removals
2021-05-03 06:46:12,366 INFO Initial blacklisted packages:
2021-05-03 06:46:12,369 INFO Initial whitelisted packages:
2021-05-03 06:46:12,369 INFO Starting unattended upgrades script
2021-05-03 06:46:12,369 INFO Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESMApps,a=bionic-apps-security, o=UbuntuESM,a=bionic-infra-security, o=Ubuntu,a=bionic-updates
2021-05-03 06:46:15,002 INFO No packages found that can be upgraded unattended and no pending auto-removals
内容/etc/apt/apt.conf.d/20auto-upgrades
:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
内容/etc/apt/apt.conf.d/50unattended-upgrades
:
// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; doesn't necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that unattended-upgrades
// should also install from here by default.
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
"${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
// This option will controls whether the development release of Ubuntu will be
// upgraded automatically.
Unattended-Upgrade::DevRelease "false";
// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run
// dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "false";
// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGTERM. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "false";
// Install all unattended-upgrades when the machine is shutting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "[email protected]"
//Unattended-Upgrade::Mail "root";
// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
//Unattended-Upgrade::MailOnlyOnError "true";
// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// Automatically reboot *WITHOUT CONFIRMATION*
// if the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "true";
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";
// Enable logging to syslog. Default is False
// Unattended-Upgrade::SyslogEnable "false";
// Specify syslog facility. Default is daemon
// Unattended-Upgrade::SyslogFacility "daemon";
// Download and install upgrades only on AC power
// (i.e. skip or gracefully stop updates on battery)
// Unattended-Upgrade::OnlyOnACPower "true";
// Download and install upgrades only on non-metered connection
// (i.e. skip or gracefully stop updates on a metered connection)
// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true";
unattended-upgrades -v -d --dry-run
未先运行就运行apt-get update
:
Initial blacklisted packages:
Initial whitelisted packages:
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESMApps,a=bionic-apps-security, o=UbuntuESM,a=bionic-infra-security, o=Ubuntu,a=bionic-updates
Using (^linux-image-[0-9]+\.[0-9\.]+-.*|^linux-headers-[0-9]+\.[0-9\.]+-.*|^linux-image-extra-[0-9]+\.[0-9\.]+-.*|^linux-modules-[0-9]+\.[0-9\.]+-.*|^linux-modules-extra-[0-9]+\.[0-9\.]+-.*|^linux-signed-image-[0-9]+\.[0-9\.]+-.*|^linux-image-unsigned-[0-9]+\.[0-9\.]+-.*|^kfreebsd-image-[0-9]+\.[0-9\.]+-.*|^kfreebsd-headers-[0-9]+\.[0-9\.]+-.*|^gnumach-image-[0-9]+\.[0-9\.]+-.*|^.*-modules-[0-9]+\.[0-9\.]+-.*|^.*-kernel-[0-9]+\.[0-9\.]+-.*|^linux-backports-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-tools-[0-9]+\.[0-9\.]+-.*|^linux-cloud-tools-[0-9]+\.[0-9\.]+-.*|^linux-buildinfo-[0-9]+\.[0-9\.]+-.*|^linux-source-[0-9]+\.[0-9\.]+-.*|^linux-image-[0-9]+\.[0-9\.]+-.*|^linux-headers-[0-9]+\.[0-9\.]+-.*|^linux-image-extra-[0-9]+\.[0-9\.]+-.*|^linux-modules-[0-9]+\.[0-9\.]+-.*|^linux-modules-extra-[0-9]+\.[0-9\.]+-.*|^linux-signed-image-[0-9]+\.[0-9\.]+-.*|^linux-image-unsigned-[0-9]+\.[0-9\.]+-.*|^kfreebsd-image-[0-9]+\.[0-9\.]+-.*|^kfreebsd-headers-[0-9]+\.[0-9\.]+-.*|^gnumach-image-[0-9]+\.[0-9\.]+-.*|^.*-modules-[0-9]+\.[0-9\.]+-.*|^.*-kernel-[0-9]+\.[0-9\.]+-.*|^linux-backports-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-modules-.*-[0-9]+\.[0-9\.]+-.*|^linux-tools-[0-9]+\.[0-9\.]+-.*|^linux-cloud-tools-[0-9]+\.[0-9\.]+-.*|^linux-buildinfo-[0-9]+\.[0-9\.]+-.*|^linux-source-[0-9]+\.[0-9\.]+-.*) regexp to find kernel packages
Using (^linux-image-4\.15\.0\-142\-generic$|^linux-headers-4\.15\.0\-142\-generic$|^linux-image-extra-4\.15\.0\-142\-generic$|^linux-modules-4\.15\.0\-142\-generic$|^linux-modules-extra-4\.15\.0\-142\-generic$|^linux-signed-image-4\.15\.0\-142\-generic$|^linux-image-unsigned-4\.15\.0\-142\-generic$|^kfreebsd-image-4\.15\.0\-142\-generic$|^kfreebsd-headers-4\.15\.0\-142\-generic$|^gnumach-image-4\.15\.0\-142\-generic$|^.*-modules-4\.15\.0\-142\-generic$|^.*-kernel-4\.15\.0\-142\-generic$|^linux-backports-modules-.*-4\.15\.0\-142\-generic$|^linux-modules-.*-4\.15\.0\-142\-generic$|^linux-tools-4\.15\.0\-142\-generic$|^linux-cloud-tools-4\.15\.0\-142\-generic$|^linux-buildinfo-4\.15\.0\-142\-generic$|^linux-source-4\.15\.0\-142\-generic$|^linux-image-4\.15\.0\-142\-generic$|^linux-headers-4\.15\.0\-142\-generic$|^linux-image-extra-4\.15\.0\-142\-generic$|^linux-modules-4\.15\.0\-142\-generic$|^linux-modules-extra-4\.15\.0\-142\-generic$|^linux-signed-image-4\.15\.0\-142\-generic$|^linux-image-unsigned-4\.15\.0\-142\-generic$|^kfreebsd-image-4\.15\.0\-142\-generic$|^kfreebsd-headers-4\.15\.0\-142\-generic$|^gnumach-image-4\.15\.0\-142\-generic$|^.*-modules-4\.15\.0\-142\-generic$|^.*-kernel-4\.15\.0\-142\-generic$|^linux-backports-modules-.*-4\.15\.0\-142\-generic$|^linux-modules-.*-4\.15\.0\-142\-generic$|^linux-tools-4\.15\.0\-142\-generic$|^linux-cloud-tools-4\.15\.0\-142\-generic$|^linux-buildinfo-4\.15\.0\-142\-generic$|^linux-source-4\.15\.0\-142\-generic$) regexp to find running kernel packages
pkgs that look like they should be upgraded:
Fetched 0 B in 0s (0 B/s)
fetch.run() result: 0
blacklist: []
whitelist: []
No packages found that can be upgraded unattended and no pending auto-removals
答案1
启用并启动即可apt-daily.timer
修复该问题。
sudo systemctl enable apt-daily.timer
sudo systemctl start apt-daily.timer