From ca48da86b3b222bc799217dff7d23cd75b00078f Mon Sep 17 00:00:00 2001 From: patrick Date: Sat, 21 Jun 2025 01:06:34 +0200 Subject: [PATCH] README.md aktualisiert --- README.md | 112 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 102 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 22bb6a3..4260adc 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,108 @@ -==== PVE Kernel Cleaner ==== +# Dokumentation: Proxmox VE Kernel Cleaner Script -Bootmodus: EFI +--- -APT-Repositories: -PVE No-Subscription Repository ist aktiv +## Übersicht -ZFS Pool Übersicht: - → rpool: 73% +Dieses Bash-Script hilft beim Aufräumen von alten Proxmox VE Kernel-Paketen auf einem System. Es zeigt Systeminformationen an, listet installierte Kernel auf, erlaubt das interaktive Entfernen älterer Kernel und erstellt auf ZFS-Systemen vor der Kernelentfernung Snapshots zur Sicherung. Außerdem unterstützt es einen Testmodus. -Installierte PVE-Kernel: - * pve-kernel-6.5.11-4-pve (aktuell in Verwendung) - - pve-kernel-6.5.11-3-pve (alt) - - pve-kernel-6.5.11-2-pve (alt) +--- +## Features & Funktionen + +### 1. Systeminformationen anzeigen (`kernel_info`) + +- Erkennung des Boot-Modus (EFI oder Legacy BIOS). +- Anzeige des Betriebssystems (aus `/etc/os-release`). +- Anzeige von Speicherplatzinformationen der Boot-Partition oder ZFS Boot-Pool. +- Anzeige des aktuell laufenden Kernels. +- Auflistung aller installierten Proxmox-Kernel inkl. Anzahl. +- Warnung, falls der laufende Kernel kein PVE-Kernel ist (mit Bestätigungsabfrage). + +### 2. Interaktive Benutzerabfrage + +- Abfrage, wie viele Kernel behalten werden sollen (Standard: 1). +- Anzeige der zu entfernenden Kernel. +- Bestätigungsabfrage vor tatsächlicher Entfernung. + +### 3. Kernel-Entfernung (`remove_old_kernels`) + +- Sammelt alle installierten PVE-Kernel (Paketnamen `proxmox-kernel-*-pve-signed`). +- Entfernt alle außer der angegebenen Anzahl neuerer Kernel. +- Führt die Entfernung mit `apt-get purge` für Kernel und zugehörige Header durch. +- Aktualisiert nach der Entfernung den Bootloader (GRUB oder proxmox-boot-tool). + +### 4. ZFS Snapshot-Management (`create_snapshot`) + +- Erkennung, ob das System auf ZFS installiert ist (über konfigurierbare Datasets). +- Vor der Kernelentfernung wird ein Snapshot mit Tag `pve-kernel-cleaner-` erstellt. +- Automatisches Entfernen älterer Snapshots, um maximal `MAX_SNAPSHOTS` zu behalten (Standard: 5). +- Snapshot-Aktionen werden nur bei tatsächlicher Kernelentfernung ausgeführt, nicht bei Abbruch oder im Testmodus. + +### 5. Testmodus (`-t` Option) + +- Führt keine Änderungen durch. +- Zeigt an, welche Aktionen (Kernel-Entfernung, Snapshot-Erstellung, GRUB-Update) durchgeführt würden. + +--- + +## Einstellungen + +- `MAX_SNAPSHOTS=5` – Maximale Anzahl von Snapshots, die behalten werden. +- `ZFS_DATASETS=("rpool/ROOT/pve-1")` – Zu sichernde ZFS-Datasets. +- `SNAPSHOT_TAG="pve-kernel-cleaner"` – Tag für Snapshots. +- `dry_run` – Variable, die im Testmodus gesetzt wird, um Änderungen zu simulieren. + +--- + +## Verwendung + +```bash +./pve-kernel-cleaner.sh [-k NUM] [-t] [-h] + + +./pve-kernel-cleaner.sh [-k NUM] [-t] [-h] +-k NUM: Anzahl der Kernel, die behalten werden sollen (Standard: 1). + +-t: Testmodus, keine Änderungen werden ausgeführt. + +-h: Zeigt die Hilfe an. + +Beispiel-Ausgabe (gekürzt) + +Systeminformationen: +───────────────────────────── +Boot-Modus: EFI +Betriebssystem: Debian GNU/Linux 12 (bookworm) +ZFS Boot-Pool (rpool/ROOT/pve-1): benutzt 14.4G, verfügbar 188G +Aktueller Kernel: 6.8.12-11-pve + +Installierte Proxmox-Kernel (7): + - proxmox-kernel-6.8.12-5-pve-signed + ... +───────────────────────────── + +Wie viele Kernel möchtest du behalten? [1]: 2 + +Es werden alle außer den 2 neuesten Kernel entfernt... +Gefundene Kernel: 7 +[-] PVE kernel search complete! +Folgende Kernel werden entfernt: + - proxmox-kernel-6.8.12-5-pve-signed + ... + +[!] Would you like to remove the 5 selected PVE kernels listed above? [y/N]: y + +Erstelle ZFS Snapshot: rpool/ROOT/pve-1@pve-kernel-cleaner-2025-06-20-14-30-00 +Snapshot erfolgreich erstellt. +Gefundene Snapshots mit Tag 'pve-kernel-cleaner': 6 +Entferne 1 alte Snapshots... + +[*] Entferne 5 alte PVE Kernel... +[-] Entferne Kernel: proxmox-kernel-6.8.12-5-pve-signed... DONE! ... + +[*] Aktualisiere GRUB... +GRUB aktualisiert. + +[*] Kernel-Entfernung abgeschlossen.