Improve script: flexible sed, timers, 20auto-upgrades, soft notifier disable, verification

This commit is contained in:
2026-04-29 14:31:25 +02:00
parent c1af92f49e
commit 47d0f32a69
+35 -24
View File
@@ -2,7 +2,7 @@
set -e set -e
echo "=== Kubuntu Unattended-Upgrades Setup (VOLLSTÄNDIG) ===" echo "=== Kubuntu Unattended-Upgrades Setup (VOLLSTÄNDIG v2) ==="
echo "" echo ""
# Prüfen ob Root # Prüfen ob Root
@@ -11,44 +11,55 @@ if [ "$EUID" -ne 0 ]; then
exit 1 exit 1
fi fi
echo "[1/6] Paketlisten aktualisieren..." echo "[1/7] Paketlisten aktualisieren..."
apt update apt update
echo "[2/6] unattended-upgrades installieren..." echo "[2/7] unattended-upgrades installieren..."
apt install -y unattended-upgrades apt install -y unattended-upgrades
echo "[3/6] Konfiguration anpassen..." echo "[3/7] Konfiguration anpassen..."
CONF=/etc/apt/apt.conf.d/50unattended-upgrades
# Backup erstellen # Backup erstellen
cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak.$(date +%Y%m%d) cp "$CONF" "${CONF}.bak.$(date +%Y%m%d)"
# Security-Updates aktivieren # Security-Updates aktivieren (flexibles sed mit optionalem Whitespace)
sed -i 's|//\("${distro_id}:${distro_codename}-security";\)|\1|' /etc/apt/apt.conf.d/50unattended-upgrades for pattern in \
sed -i 's|//\("${distro_id}ESMApps:${distro_codename}-apps-security";\)|\1|' /etc/apt/apt.conf.d/50unattended-upgrades '"${distro_id}:${distro_codename}-security";' \
sed -i 's|//\("${distro_id}ESM:${distro_codename}-infra-security";\)|\1|' /etc/apt/apt.conf.d/50unattended-upgrades '"${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
# AUCH REGULÄRE UPDATES AKTIVIEREN (Full-Version!) echo "[4/7] 20auto-upgrades setzen..."
echo "[4/6] Reguläre Updates aktivieren..." cat > /etc/apt/apt.conf.d/20auto-upgrades <> 'AUTOEOF'
sed -i 's|//\("${distro_id}:${distro_codename}-updates";\)|\1|' /etc/apt/apt.conf.d/50unattended-upgrades APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
AUTOEOF
echo "[5/6] GUI-Notifier deaktivieren..." echo "[5/7] GUI-Notifier deaktivieren (sanft)..."
if dpkg -l | grep -q plasma-discover-notifier; then mkdir -p /etc/xdg/autostart
apt remove --purge -y plasma-discover-notifier cat > /etc/xdg/autostart/org.kde.discover.notifier.desktop <> 'DESKEOF'
fi [Desktop Entry]
Hidden=true
DESKEOF
# Autostart sicherheitshalber entfernen echo "[6/7] Services und Timer aktivieren..."
if [ -f /etc/xdg/autostart/org.kde.discover.notifier.desktop ]; then
rm /etc/xdg/autostart/org.kde.discover.notifier.desktop
fi
echo "[6/6] Service aktivieren und starten..."
systemctl enable --now unattended-upgrades 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 ""
echo "=== Setup abgeschlossen (VOLLSTÄNDIG) ===" echo "=== Setup abgeschlossen (VOLLSTÄNDIG v2) ==="
echo "Installiert: Security-Updates + reguläre Updates" echo "Installiert: Security-Updates + reguläre Updates"
echo "" echo ""
echo "Status prüfen mit: sudo systemctl status unattended-upgrades" 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 "Testlauf mit: sudo unattended-upgrade --dry-run"
echo "Logs unter: /var/log/unattended-upgrades/" echo "Logs unter: /var/log/unattended-upgrades/"
echo "" echo ""
echo "Konfiguration gesichert unter: /etc/apt/apt.conf.d/50unattended-upgrades.bak.$(date +%Y%m%d)" echo "Konfiguration gesichert unter: ${CONF}.bak.$(date +%Y%m%d)"