Ubuntu aufräumen
#!/bin/bash | |
# Farben | |
gruen="\033[1;32m" | |
gelb="\033[1;33m" | |
blau="\033[1;34m" | |
violett="\033[1;35m" | |
weiss="\033[1;37m" | |
farbe_aus="\033[0m" | |
# Banner | |
echo -e "\n${weiss}------------------------------------------------------" | |
echo -e " T H E R E T U R N O F T H E${farbe_aus}" | |
echo -e "${violett} ." | |
echo -e ",-. ,-. . ,-. ,-. ,-,-. ,-. ,-. | , ,-. ,\" ,-. ,-. . ." | |
echo -e "| |-' | | | |-' | | | ,-| | |< |-' |- | ,-| | |" | |
echo -e "' `-' ' ' ' `-' ' ' ' `-^ `-' ' ` `-' | ' `-^ `-^" | |
echo -e " '${farbe_aus}" | |
echo -e "${weiss}------------------------------------------------------" | |
echo -e " SIE SAUGT NICHT MEHR ... SIE BLAEST JETZT!" | |
echo -e "------------------------------------------------------${farbe_aus}" | |
# Festplattenkapazität vor Bereinigung | |
used_before=$(( $(df | head -n 2 | tail -n 1 | awk '{print $3;}')/1024 )) | |
# Kernel-Versionen ermitteln | |
kernel_highest=$(dpkg -l 'linux-image-[0-9.]*-[0-9]*-[a-zA-Z0-9]*' | grep ^ii | awk '{print $2}' | sort -V | tail -n 1 | sed 's/^linux-image-//g') | |
kernel_current=$(uname -r) | |
# Versionsnummern aus Kernel-Versionen extrahieren | |
version_highest=$(echo ${kernel_highest} | sed 's/\([0-9.]*-[0-9]*\)-.*$/\1/') | |
version_current=$(echo ${kernel_current} | sed "s/\(.*\)-\([^0-9]\+\)/\1/") | |
# Zu entfernende Kernel-Versionen ermitteln | |
kernel_purge=$(dpkg -l 'linux-*-[0-9-]*' | grep ^ii | awk '{print $2}' | sed "/${version_current}/d;/${version_highest}/d") | |
# Ausgabe der ermittelten Kernel-Versionen | |
echo -e "\n${gruen}Folgender Kernel ist die neueste installierte Version:${farbe_aus}" | |
echo ${kernel_highest} | |
echo -e "\n${gruen}Folgender Kernel ist aktiv:${farbe_aus}" | |
echo ${kernel_current} | |
echo -e "\n${gruen}Folgende Kernel werden entfernt:${farbe_aus}" | |
if [ "${kernel_purge}" != '' ]; then | |
# Ausgabe der zu entfernenden Kernel-Versionen | |
echo -e $(echo ${kernel_purge} | sed 's/\ /\\n/g') | |
while [ "${del_confirm}" != 'j' -a "${del_confirm}" != 'n' ]; do | |
echo -en "\n${blau}Sollen alte Kernel-Versionen entfernt werden? (j/n) ${farbe_aus}" | |
read -n 1 del_confirm | |
done | |
if [ "${del_confirm}" == 'j' ]; then | |
echo -e "\n${gruen}Entferne alte Kernel-Versionen${farbe_aus}" | |
# Entfernen alter Kernel-Versionen | |
apt-get purge -y ${kernel_purge} | |
else | |
echo -e "\n${gruen}Alte Kernel-Versionen werden nicht entfernt${farbe_aus}" | |
fi | |
else | |
echo -e "${weiss}Keine alten Kernel-Versionen vorhanden${farbe_aus}" | |
fi | |
echo -e "\n${gruen}Paketcache wird aufgeraeumt${farbe_aus}" | |
apt-get clean | |
echo -e "\n${gruen}Ungenutzte Abhaengigkeiten werden entfernt${farbe_aus}" | |
apt-get autoremove | |
# Festplattenkapazität nach Bereinigung | |
used_after=$(( $(df | head -n 2 | tail -n 1 | awk '{print $3;}')/1024 )) | |
# Differenz ermitteln | |
used_diff=$(( ${used_before}-${used_after} )) | |
# Anzeige der gewonnenen Festplattenkapazität | |
echo -e "\n${gelb}Verwendeter Platz vor Bereinigung:${farbe_aus} ${used_before} MB" | |
echo -e "${gelb}Verwendeter Platz nach Bereinigung:${farbe_aus} ${used_after} MB" | |
echo -e "${gelb}Freigegebene Festplattenkapazitaet:${farbe_aus} ${used_diff} MB" | |
echo -e "\n${weiss}ALLES SAUBER! FEIERABEND! :-)${farbe_aus}\n" | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment