sysupdate() { set -u local mode="${1:-normal}" local apt_cmd case "$mode" in normal) apt_cmd="upgrade" ;; full) apt_cmd="full-upgrade" ;; *) echo "Ungültiger Modus: $mode" >&2 echo "Verwendung: sysupdate [normal|full]" >&2 return 2 ;; esac echo "=== Systemwartung gestartet ($mode) $(date --iso-8601=seconds) ===" if ! { apt-get update && apt-get "$apt_cmd" -y && apt-get autoremove --purge -y && apt-get autoclean -y }; then echo "APT-Wartung fehlgeschlagen" >&2 return 1 fi if command -v flatpak >/dev/null 2>&1; then flatpak update -y || echo "Flatpak-Update fehlgeschlagen" >&2 fi if command -v snap >/dev/null 2>&1; then snap refresh || echo "Snap-Refresh fehlgeschlagen" >&2 fi if command -v fwupdmgr >/dev/null 2>&1; then fwupdmgr refresh --force || echo "fwupd refresh fehlgeschlagen" >&2 fwupdmgr get-updates || echo "fwupd Abfrage fehlgeschlagen" >&2 fi if command -v freshclam >/dev/null 2>&1; then freshclam || echo "freshclam fehlgeschlagen" >&2 fi journalctl --vacuum-time=30d || echo "Journal-Bereinigung fehlgeschlagen" >&2 if command -v needrestart >/dev/null 2>&1; then needrestart || echo "needrestart meldet offenen Neustart oder Dienste-Neustart" >&2 fi echo "=== Systemwartung abgeschlossen ($mode) $(date --iso-8601=seconds) ===" }