一、声明
因为目前只使用CentOS 7 x64系统,所以本教程将仅适用于CentOS 7 x64系统,不保证在CentOS 8等系统上的效果。
另外卸载系统内核属于危险操作,可能导致VPS无法启动,非必要请勿进行此项操作,也不建议在生产环境下进行此项操作。
二、获取当前使用的内核
执行以下命令可以获取到当前系统正在使用的内核:
uname -r
输出结果举例:3.10.0-1160.15.2.el7.x86_64
记一下这个输出结果,也就是正在使用的内核。
三、CentOS 7自动卸载多余内核的教程
首先分享下自动化的方法,命令少,操作少,方便快捷。
1. 执行以下命令可以自动获取当前系统中的无用内核(未使用的)并进入卸载
yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))
2. 执行上面命令后,会有卸载确认操作。确认下卸载内核列表中没有当前正在使用的内核,然后输入y确认卸载即可。
3. 卸载完毕后,可以执行以下命令查看下/boot分区的占用情况
df -h /boot
案例:
df -h /boot
Filesystem Size Used Avail Use% Mounted on/dev/sda1 197M 105M 93M 54% /boot
其中Avail对应的就是/boot分区当前的可用空间大小。
四、CentOS 7手动卸载多余内核的教程
1. 执行以下命令获取当前系统的全部内核列表(已使用的和未使用的):
rpm -qa | grep kernel
提供一个输出结果样例:
kernel-tools-3.10.0-1160.15.2.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-devel-3.10.0-1160.15.2.el7.x86_64
kernel-3.10.0-957.21.3.el7.x86_64
kernel-devel-3.10.0-957.21.3.el7.x86_64
kernel-3.10.0-1160.15.2.el7.x86_64
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-tools-libs-3.10.0-1160.15.2.el7.x86_64
2. 以前面提到的正在使用的内核是3.10.0-1160.15.2.el7.x86_64为例,那么我们需要从全部内核列表中排除掉包含3.10.0-1160.15.2.el7.x86_64的内核,剩下的就是无用的内核。如下:
1 kernel-3.10.0-957.el7.x86_642 kernel-3.10.0-957.21.3.el7.x86_643 kernel-devel-3.10.0-957.21.3.el7.x86_64
3. 我们执行yum remove依次卸载以上无用内核即可,比如:
同样的也需要输入y来确认卸载。
4. 卸载完毕后,可以执行以下命令查看下/boot分区的占用情况
df -h /boot
其中Avail对应的就是/boot分区当前的可用空间大小。