59 lines
1.8 KiB
Bash
59 lines
1.8 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.
|
|
# shellcheck disable=SC2016
|
|
sed -i 's|//[[:space:]]*\("\${distro_id}:\${distro_codename}-security";")|\1|' "$CONF"
|
|
# shellcheck disable=SC2016
|
|
sed -i 's|//[[:space:]]*\("\${distro_id}ESMApps:\${distro_codename}-apps-security";")|\1|' "$CONF"
|
|
# shellcheck disable=SC2016
|
|
sed -i 's|//[[:space:]]*\("\${distro_id}ESM:\${distro_codename}-infra-security";")|\1|' "$CONF"
|
|
|
|
# Optionale: Alle Updates aktivieren (Security + Updates)
|
|
# shellcheck disable=SC2016
|
|
# sed -i 's|//[[:space:]]*\("\${distro_id}:\${distro_codename}-updates";")|\1|' "$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)"
|