pve-kernel-cleaner.sh gelöscht
This commit is contained in:
@@ -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 ===="
|
|
||||||
Reference in New Issue
Block a user