Script
#!/bin/bash
distro_codename=$(lsb_release -cs)
FILE="/etc/apt/apt.conf.d/50unattended-upgrades"
# Funktion zum Setzen oder Ersetzen einer Konfigurationszeile
set_config() {
local key=$1
local value=$2
local file=$3
if grep -q "^//${key}" "$file"; then
# Entkommentieren und den Wert setzen
sed -i "s|^//${key}.*|${key} ${value};|" "$file"
elif grep -q "^${key}" "$file"; then
# Wert aktualisieren
sed -i "s|^${key}.*|${key} ${value};|" "$file"
else
# Neue Zeile hinzufügen
echo "${key} ${value};" >> "$file"
fi
}
# Einstellungen für Unattended-Upgrades
set_config 'Unattended-Upgrade::Allowed-Origins' '{ "origin=Debian,codename=${distro_codename}-security"; }' "$FILE"
set_config 'Unattended-Upgrade::Automatic-Reboot' 'true' "$FILE"
set_config 'Unattended-Upgrade::Automatic-Reboot-Time' '"02:00"' "$FILE"
# Zusätzliche Einstellungen können hier hinzugefügt werden
# z.B. Automatisches Entfernen von nicht mehr benötigten Paketen
set_config 'Unattended-Upgrade::Remove-Unused-Dependencies' 'true' "$FILE"
# Konfiguration zum Senden von E-Mails (Optional)
EMAIL="[email protected]"
if ! grep -q "^Unattended-Upgrade::Mail" "$FILE"; then
echo "Unattended-Upgrade::Mail \"$EMAIL\";" >> "$FILE"
else
sed -i "s|^Unattended-Upgrade::Mail.*|Unattended-Upgrade::Mail \"$EMAIL\";|" "$FILE"
fi
# Update-Paketlisten und Konfigurationen neu laden
apt-get update
dpkg-reconfigure -plow unattended-upgrades
echo "Unattended-Upgrades konfiguriert und aktiviert."
Last updated