Files
sysadmin/linux/kubuntu/setup-unattended-upgrades.sh
T

56 lines
1.9 KiB
Bash

#!/bin/bash
set -e
echo "=== Kubuntu Unattended-Upgrades Setup ==="
echo ""
# Prüfen ob Root
if [ "$EUID" -ne 0 ]; then
echo "Bitte als root oder mit sudo ausführen"
exit 1
fi
echo "[1/5] Paketlisten aktualisieren..."
apt update
echo "[2/5] unattended-upgrades installieren..."
apt install -y unattended-upgrades
echo "[3/5] Konfiguration anpassen..."
CONF=/etc/apt/apt.conf.d/50unattended-upgrades
# Backup erstellen
cp "$CONF" "${CONF}.bak.$(date +%Y%m%d)"
# Security-Updates aktivieren
# Die ${distro_id}-Variablen werden von unattended-upgrades selbst aufgelöst,
# daher müssen sie im sed-Pattern als Literal-Strings stehen.
sed -i 's|//[[:space:]]*"\${distro_id}:\${distro_codename}-security";|"\${distro_id}:\${distro_codename}-security";|' "$CONF"
sed -i 's|//[[:space:]]*"\${distro_id}ESMApps:\${distro_codename}-apps-security";|"\${distro_id}ESMApps:\${distro_codename}-apps-security";|' "$CONF"
sed -i 's|//[[:space:]]*"\${distro_id}ESM:\${distro_codename}-infra-security";|"\${distro_id}ESM:\${distro_codename}-infra-security";|' "$CONF"
# Optionale: Alle Updates aktivieren (Security + Updates)
# sed -i 's|//[[:space:]]*"\${distro_id}:\${distro_codename}-updates";|"\${distro_id}:\${distro_codename}-updates";|' "$CONF"
echo "[4/5] GUI-Notifier deaktivieren..."
if dpkg -l | grep -q plasma-discover-notifier; then
apt remove --purge -y plasma-discover-notifier
fi
# Autostart sicherheitshalber entfernen
if [ -f /etc/xdg/autostart/org.kde.discover.notifier.desktop ]; then
rm /etc/xdg/autostart/org.kde.discover.notifier.desktop
fi
echo "[5/5] Service aktivieren und starten..."
systemctl enable --now unattended-upgrades
echo ""
echo "=== Setup abgeschlossen ==="
echo "Status prüfen mit: sudo systemctl status unattended-upgrades"
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)"