Ubuntu 16.04没事干最喜欢更新内核,这kernel虽然更新的都只是小版本,然而在很多情况下就算只是更新个小版本都有可能更新出问题出来。特别是用在生产环境上,没经过我们仔细评估后apt就自作主张瞎升级内核,这是个很危险的举动。作为一个懒运维,你肯定不想在这种地方浪费时间吧?直接把内核锁了就是了。

当然这么做虽然能减少运维的工作量也会带来相应的安全风险,特别是在过去的两年中Linux的kernel多次爆出各种高危级的CVE安全漏洞。所以这点上来说需要各位自己权衡一下是否要这么做。

1.首先先查看下自己系统中已经安装的内核:

dpkg --get-selections |grep linux-image

2.顺带查看下自己正在使用的是啥内核:

uname -r

在以上两个查询中我们通过对比第二步和第一步的结果来决定我们下一步是否要删除旧内核。

3.卸载旧内核

apt remove linux-image-xx.xx.x-xx-generic

这里我们要选择我们要删除的内核来进行卸载,如果有多个内核可以直接填写多个内核的版本号。例如这样:

apt remove linux-image-xx.xx.x-xx-generic linux-image-xx.xx.x-xx-generic

4.然而光以上apt remove命令卸载后其实还是不够的。我们用第一步的命令再来看一遍之后,发现内核只是被卸载了但还没删除。我们需要用以下命令来进行删除:

dpkg --purge linux-image-xx.xx.x-xx-generic

如果有多个内核的话要删除的话,得起多行进行删除:

dpkg --purge linux-image-xx.xx.x-xx-generic && dpkg --purge linux-image-xx.xx.x-xx-generic

5.锁定我们想留下来的内核版本:

apt-mark hold linux-image-xx.xx.x-xx-generic

以上就是删内核锁内核一把梭教程,然而这么做是有存在安全风险的,如果你使用的kernel被爆出了什么高危漏洞之类的话,那就自求多福吧。不过我还是建议,如果是用于生产环境的话,还是换去用Debian吧,没这么多事。