Debian/Ubuntu Linux如何删除旧内核镜像
时间:2019-11-20 08:53:09 来源:igfitidea点击:
Ubuntu为什么不自动删除旧内核?
如何删除Ubuntu中旧的内核镜像?
如何在Ubuntu Linux上安全删除未使用的旧内核镜像?
如何删除Ubuntu或Debian Linux上未使用的旧内核镜像,以释放磁盘空间?
删除旧内核镜像
对于Debian或Ubuntu Linux系统,该过程如下:
引导到新内核
首先,启动进入新安装的内核。
查看正在使用的内核信息:
$ uname -mrs $ uname -a
列出系统中安装的所有Linux内核镜像
# dpkg --list | egrep -i --color 'linux-image|linux-headers'
删除不需要的和未使用的内核镜像
使用以下apt-get命令或apt命令删除内核镜像:
# apt-get --purge remove linux-image-3.13.0-67-generic
或者
$ sudo apt-get --purge remove linux-image-3.13.0-67-generic
它们删除软件包,所有配置文件也将被删除。
关于Ubuntu和Debian新系统说明
在较新的系统上,所有过时的内核和标头应该都已经自动标记为不再需要,
因此可以使用以下单个命令清除:
$ sudo apt --purge autoremove
或者
$ sudo apt-get --purge autoremove
请注意,autoremove用于删除
那些当时为满足其他软件包的依赖性而自动安装的,但现在不再需要的软件包。
这个命令也可能会删除其余不需要的软件包。
如何查看Ubuntu和Debian Linux中的软件包状态
使用dpkg --list
# dpkg --list | grep linux-image
输出示例:
rc linux-image-3.13.0-67-generic 3.13.0-67.110 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP ii linux-image-3.13.0-68-generic 3.13.0-68.111 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
在dpkg列表中,rc,ii表示什么意思?
第一列表示软件包标志,如rc,ii。
rc
:表示软件包处于删除/卸载状态,仅配置文件存在。ii
:表示软件包处于安装状态,并且已100%安装在系统上。
可以使用以下命令删除所有处于rc状态的linux-image软件包:
# x=$(dpkg --list | grep -i linux-image | grep ^rc| awk '{ print }') # echo "$x" # apt-get --purge remove $x
使用脚本删除所有旧内核
脚本如下:
# 查看当前内核版本 v="$(uname -r | awk -F '-virtual' '{ print }')" # 创建要删除的列表,排除正在运行的内核 i="linux-headers-virtual|linux-image-virtual|linux-headers-${v}|linux-image-$(uname -r)" # 显示要删除的列表 echo dpkg --list | egrep -i 'linux-image|linux-headers' | awk '/ii/{ print }' | egrep -v "$i"
要删除这些旧内核,改写脚本如下:
v="$(uname -r | awk -F '-virtual' '{ print }')" i="linux-headers-virtual|linux-image-virtual|linux-headers-${v}|linux-image-$(uname -r)" apt-get --purge remove $(dpkg --list | egrep -i 'linux-image|linux-headers' | awk '/ii/{ print }' | egrep -v "$i")