diff --git a/pve-kernel-cleaner.sh b/pve-kernel-cleaner.sh deleted file mode 100644 index de51c31..0000000 --- a/pve-kernel-cleaner.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash - -# === PVE Kernel Cleaner Script === -# Kompatibel mit EFI & BIOS, erkennt ZFS Pools und prüft Belegung -# Erkennt auch Subscription-Status -# Autor: OpenAI (angepasst für deine Anforderungen) -# Datum: 2025-06-20 - -set -e - -echo "==== PVE Kernel Cleaner ====" -echo "" - -# 1. Prüfen ob EFI oder BIOS -if [ -d /sys/firmware/efi ]; then - echo "Bootmodus: EFI" -else - echo "Bootmodus: BIOS (Legacy)" -fi - -# 1.1 Subscription-Status prüfen -echo "" -echo "APT-Repositories:" -repo_files=$(find /etc/apt/ -name "*.list") - -if grep -rq "enterprise.proxmox.com" $repo_files; then - echo "PVE Enterprise Repository (Subscription) ist aktiv" -elif grep -rq "no-subscription" $repo_files; then - echo "PVE No-Subscription Repository ist aktiv" -else - echo "Kein bekanntes PVE Repository aktiv ,prüfe apt-Sources manuell" -fi - -echo "" - -# 2. ZFS Pools prüfen -echo "ZFS Pool Übersicht:" -if command -v zpool &> /dev/null; then - zpool list -Ho name,capacity | while read -r pool cap; do - cap_num=$(echo $cap | tr -d '%') - warn="" - if (( cap_num >= 80 )); then - warn="ACHTUNG: >80% belegt" - fi - echo " → $pool: $cap $warn" - done -else - echo "ZFS ist nicht installiert oder zpool-Befehl nicht verfügbar." -fi - -echo "" - -# 3. Liste der installierten PVE-Kernel anzeigen -echo "Installierte PVE-Kernel:" -kernel_list=$(dpkg --list | grep pve-kernel | awk '{print $2}' | sort -V) -current_kernel=$(uname -r | cut -d '-' -f1-2) - -to_remove=() - -while read -r kernel; do - version=$(echo "$kernel" | sed -n 's/^pve-kernel-\([0-9.]*-[0-9]*\).*/\1/p') - if [ "$version" == "$current_kernel" ]; then - echo " * $kernel (aktuell in Verwendung)" - else - echo " - $kernel (alt)" - to_remove+=("$kernel") - fi -done <<< "$kernel_list" - -echo "" -if [ ${#to_remove[@]} -eq 0 ]; then - echo "Keine alten Kernel gefunden , nichts zu tun." - exit 0 -fi - -# 4. Nutzerabfrage zur Entfernung -echo "Die folgenden alten Kernel könnten entfernt werden:" -for k in "${to_remove[@]}"; do - echo " - $k" -done - -echo "" -read -p "❓ Möchtest du diese alten Kernel jetzt entfernen? (j/n): " confirm -if [[ "$confirm" =~ ^[Jj]$ ]]; then - echo "Entferne alte Kernel..." - apt remove --purge -y "${to_remove[@]}" - echo "Alte Kernel wurden entfernt." -else - echo "Abbruch ,keine Kernel wurden entfernt." -fi - -echo "" -echo "==== Fertig ====" \ No newline at end of file