From e9949c04f3b94eec13a118bf330191824222b03e Mon Sep 17 00:00:00 2001 From: Thom Pol Date: Thu, 25 Feb 2021 00:38:42 +0100 Subject: [PATCH] Only install UAU when argument is given and add extra subarguments (#25) --- lib/os/class.ISPConfigUbuntuOS.inc.php | 35 ++++++++++++++++++-------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/lib/os/class.ISPConfigUbuntuOS.inc.php b/lib/os/class.ISPConfigUbuntuOS.inc.php index aa7d413..a020bdc 100644 --- a/lib/os/class.ISPConfigUbuntuOS.inc.php +++ b/lib/os/class.ISPConfigUbuntuOS.inc.php @@ -108,17 +108,30 @@ maxretry = 3'; } protected function installUnattendedUpgrades() { - ISPConfigLog::info('Installing UnattendedUpgrades', true); - - $packages = array( - 'unattended-upgrades', - 'apt-listchanges' - ); - $this->installPackages($packages); - - // Enable UnattendUpgrades to run every day - $unattendedupgrades = 'APT::Periodic::Update-Package-Lists "1";' . "\n" . 'APT::Periodic::Unattended-Upgrade "1";'; - file_put_contents('/etc/apt/apt.conf.d/20auto-upgrades', $unattendedupgrades); + ISPConfigLog::info('Installing UnattendedUpgrades', true); + + $packages = array( + 'unattended-upgrades', + 'apt-listchanges' + ); + $this->installPackages($packages); + + // Enable UnattendUpgrades to run every day + $unattendedupgrades = 'APT::Periodic::Update-Package-Lists "1";' . "\n" . 'APT::Periodic::Unattended-Upgrade "1";'; + file_put_contents('/etc/apt/apt.conf.d/20auto-upgrades', $unattendedupgrades); + + // Enable extra options if set in the arguments + $unattendedupgrades_options = ISPConfig::getUnattendedUpgradesOptions(); + if (!empty($unattendedupgrades_options)) { + if (in_array("autoclean", $unattendedupgrades_options)) { + $unattendedupgrades = "\n" . 'UnattendedUpgrades: APT::Periodic::AutocleanInterval "7";' . "\n" . 'Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";' . "\n" . 'Unattended-Upgrade::Remove-Unused-Dependencies "true";'; + file_put_contents('/etc/apt/apt.conf.d/20auto-upgrades', $unattendedupgrades, FILE_APPEND | LOCK_EX); + } + if (in_array("reboot", $unattendedupgrades_options)) { + $unattendedupgrades = "\n" . 'Unattended-Upgrade::Automatic-Reboot "true";' . "\n" . 'Unattended-Upgrade::Automatic-Reboot-Time "03:30";'; + file_put_contents('/etc/apt/apt.conf.d/20auto-upgrades', $unattendedupgrades, FILE_APPEND | LOCK_EX); + } + } // Enable normal updates $replacements = array( -- GitLab