嗯,磁盘空间很小的小鸡,多余的内核也会占用不少空间,那么系统是Ubuntu 22.04.5的服务器,如何删除不需要的内核呢?
问了AI,得到个可用的shell,代码如下:
#!/bin/bash
# 获取当前正在使用的内核版本
current_kernel=$(uname -r)
# 获取所有已安装的内核版本,并过滤掉不合法的版本号
installed_kernels=$(dpkg -l | grep linux-image | awk '{print $2}' | grep -oP 'linux-image-\K.*' | grep -E '[0-9]+\.[0-9]+\.[0-9]+-[0-9]+-generic')
# 去除后缀并排序获取最新的内核版本号
latest_kernel_number=$(echo "$installed_kernels" | sed 's/-generic//' | sort -V | tail -n 1)
# 找到完整的最新内核版本(包含后缀)
latest_kernel=$(echo "$installed_kernels" | grep "$latest_kernel_number")
# 移除当前使用的内核和最新的内核
kernels_to_remove=$(echo "$installed_kernels" | grep -v "$current_kernel" | grep -v "$latest_kernel")
# 检查是否有需要移除的内核
if [ -z "$kernels_to_remove" ]; then
echo "没有需要移除的内核。"
else
# 移除不需要的内核及其配置文件
for kernel in $kernels_to_remove; do
sudo apt-get purge -y "linux-image-$kernel"
done
# 自动移除不再需要的依赖
sudo apt autoremove -y
fi 如您从本文得到了有价值的信息或帮助,请考虑扫描下方二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言