From 5a3b47b4c5c2fd95fecf9ffa8cc51a9f1bc28c12 Mon Sep 17 00:00:00 2001 From: Gorn <3+gorn@noreply.localhost> Date: Wed, 29 Apr 2026 14:28:58 +0200 Subject: [PATCH] Add improved v2 script with flexible sed, timers, auto-upgrades config, and verification --- .../setup-unattended-upgrades-full-v2.sh | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 linux/kubuntu/setup-unattended-upgrades-full-v2.sh diff --git a/linux/kubuntu/setup-unattended-upgrades-full-v2.sh b/linux/kubuntu/setup-unattended-upgrades-full-v2.sh new file mode 100644 index 0000000..cd9eb58 --- /dev/null +++ b/linux/kubuntu/setup-unattended-upgrades-full-v2.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +set -e + +echo "=== Kubuntu Unattended-Upgrades Setup (VOLLSTÄNDIG v2) ===" +echo "" + +# Prüfen ob Root +if [ "$EUID" -ne 0 ]; then + echo "Bitte als root oder mit sudo ausführen" + exit 1 +fi + +echo "[1/7] Paketlisten aktualisieren..." +apt update + +echo "[2/7] unattended-upgrades installieren..." +apt install -y unattended-upgrades + +echo "[3/7] Konfiguration anpassen..." +CONF=/etc/apt/apt.conf.d/50unattended-upgrades + +# Backup erstellen +cp "$CONF" "${CONF}.bak.$(date +%Y%m%d)" + +# Security-Updates aktivieren (flexibles sed mit optionalem Whitespace) +for pattern in \ + '"${distro_id}:${distro_codename}-security";' \ + '"${distro_id}ESMApps:${distro_codename}-apps-security";' \ + '"${distro_id}ESM:${distro_codename}-infra-security";' \ + '"${distro_id}:${distro_codename}-updates";'; do + sed -i "s|//[[:space:]]*\\(${pattern}\\)|\\1|" "$CONF" +done + +echo "[4/7] 20auto-upgrades setzen..." +cat > /etc/apt/apt.conf.d/20auto-upgrades <> 'AUTOEOF' +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Unattended-Upgrade "1"; +AUTOEOF + +echo "[5/7] GUI-Notifier deaktivieren (sanft)..." +mkdir -p /etc/xdg/autostart +cat > /etc/xdg/autostart/org.kde.discover.notifier.desktop <> 'DESKEOF' +[Desktop Entry] +Hidden=true +DESKEOF + +echo "[6/7] Services und Timer aktivieren..." +systemctl enable --now unattended-upgrades +systemctl enable --now apt-daily.timer apt-daily-upgrade.timer + +echo "[7/7] Verifikation..." +echo "--- Aktivierte Origins in 50unattended-upgrades ---" +grep -E '^\s+".*";' "$CONF" || echo "(keine aktiven Zeilen gefunden — sed hat nichts geändert!)" + +echo "" +echo "=== Setup abgeschlossen (VOLLSTÄNDIG v2) ===" +echo "Installiert: Security-Updates + reguläre Updates" +echo "" +echo "Status prüfen mit: sudo systemctl status unattended-upgrades" +echo "Timer prüfen mit: sudo systemctl status apt-daily.timer" +echo "Testlauf mit: sudo unattended-upgrade --dry-run" +echo "Logs unter: /var/log/unattended-upgrades/" +echo "" +echo "Konfiguration gesichert unter: ${CONF}.bak.$(date +%Y%m%d)"