Skip to content

Robustes Bash-Skript für Debian/Ubuntu-Systemupdates – mit sicherem Lock-Handling, Kernel-Update-Erkennung, Logging, Backups, Flatpak-Unterstützung, optionalen Sicherheitsupdates und interaktivem Neustart-Prompt.

License

Notifications You must be signed in to change notification settings

Microgenital/Linux-Update-Script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

🛠 Linux Update Script

Ein robustes, interaktives Bash-Skript für sichere, vollständige und dokumentierte Systemupdates unter Debian/Ubuntu (APT) mit optionaler Flatpak-Unterstützung.


📋 Funktionen

  • Sicheres Lock-Handling
    Wartet auf freie apt-/dpkg-Locks, statt sie zu löschen.
  • Vollständige Updates
    Führt update, upgrade, dist-upgrade, autoremove, autoclean aus.
  • Kernel-Update-Erkennung
    Erkennt Kernel-Updates und fragt nur dann nach einem Neustart.
  • Logging
    Speichert alle Ausgaben in /var/log/system-update.log (anpassbar).
  • Sicherheitsprüfungen vor dem Start
    Root-Check, Internetverbindung, freier Speicherplatz.
  • Backups
    • Liste aller installierten Pakete
    • Liste der manuell installierten Pakete
    • Optional: Backup von /etc als .tar.gz
  • Nur Sicherheitsupdates (optional)
  • Dry-Run-Modus: Zeigt Updates, ohne Änderungen durchzuführen.
  • Flatpak-Updates (abschaltbar)
  • Journald-Aufräumen: Alte Systemlogs löschen (konfigurierbar)
  • Update-Zusammenfassung: Vorher/Nachher-Vergleich aller Paketversionen.

📦 Anforderungen

  • Debian/Ubuntu oder Derivate
  • bash
  • apt-get
  • dpkg
  • (optional) flatpak
  • (optional) unattended-upgrades
  • (optional) journalctl

📥 Installation

  1. Skript herunterladen:
    curl -O https://raw.githubusercontent.com/<dein-github-user>/<repo-name>/main/system-update.sh
  2. Ausführbar machen:
    chmod +x system-update.sh
  3. Mit Root-Rechten ausführen:
    sudo ./system-update.sh

⚙️ Optionen

--no-flatpak           Flatpak-Update überspringen
--security-only        Nur Sicherheitsupdates (via unattended-upgrade)
--dry-run              Nichts installieren, nur anzeigen (APT & Flatpak)
--backup-etc           /etc als Tarball sichern
--min-free-mb N        Mindestfreier Speicher in MB (Default: 1024)
--timeout N            Timeout fürs Warten auf APT/DPKG-Locks in Sekunden (Default: 600)
--journal-days N       journalctl --vacuum-time=N Tage (0 = deaktiviert; Default: 30)
--logfile PATH         Pfad zur Logdatei (Default: /var/log/system-update.log)
--help                 Hilfe anzeigen

🚀 Beispiele

Standard-Update mit Flatpak:

sudo ./system-update.sh

Nur Sicherheitsupdates, ohne Flatpak:

sudo ./system-update.sh --security-only --no-flatpak

Trockenlauf (nichts wird installiert):

sudo ./system-update.sh --dry-run

Mit /etc-Backup und kürzerer Journal-Aufbewahrung:

sudo ./system-update.sh --backup-etc --journal-days 14

📊 Beispielausgabe

==== System Update Deluxe gestartet: 2025-08-11 18:23:01 ====
Paketquellen aktualisieren
APT: normales Upgrade (ohne Abhängigkeitsänderungen)
APT: Distribution-Upgrade (inkl. neuer/entfernter Abhängigkeiten)
APT: nicht mehr benötigte Pakete entfernen
APT: Paket-Cache aufräumen
Flatpak: Updates einspielen
Journald: Logs älter als 30 Tage entfernen
Geänderte Pakete:
linux-image-generic                5.15.0-86.96 -> 5.15.0-87.97
...
Kernel-Update erkannt. Jetzt neu starten? [y/N]

🔒 Sicherheitshinweise

  • Keine Locks löschen! Das Skript wartet, bis der Paketmanager frei ist.
  • Führe das Skript immer mit Root-Rechten aus.
  • Prüfe regelmäßig die Logdatei (/var/log/system-update.log) auf Fehler.
  • Bei Kernel-Updates ist ein Neustart nötig, um den neuen Kernel zu aktivieren.

📝 Lizenz

Dieses Skript ist unter der MIT-Lizenz veröffentlicht – frei nutzbar, veränderbar und verbreitbar.
Siehe LICENSE für Details.


🤖 KI-Hinweis

Dieses Skript wurde mit Unterstützung einer künstlichen Intelligenz (OpenAI GPT-5) erstellt und optimiert.
Der Code und die Dokumentation wurden teils automatisiert generiert, anschließend manuell geprüft und angepasst.


🤝 Beiträge

Pull Requests und Issues sind willkommen!
Falls du das Skript verbesserst oder für andere Distributionen anpasst, teile es gerne im Repository.

About

Robustes Bash-Skript für Debian/Ubuntu-Systemupdates – mit sicherem Lock-Handling, Kernel-Update-Erkennung, Logging, Backups, Flatpak-Unterstützung, optionalen Sicherheitsupdates und interaktivem Neustart-Prompt.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages