README.md aktualisiert
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user