README.md aktualisiert

This commit is contained in:
2025-06-21 01:06:34 +02:00
parent 21097357c7
commit ca48da86b3
+102 -10
View File
@@ -1,16 +1,108 @@
==== PVE Kernel Cleaner ==== # Dokumentation: Proxmox VE Kernel Cleaner Script
Bootmodus: EFI ---
APT-Repositories: ## Übersicht
PVE No-Subscription Repository ist aktiv
ZFS Pool Übersicht: 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.
→ rpool: 73%
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-<timestamp>` 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.