ubuntu16.04删除旧的linux内核:(在/boot空间满了的情况)
今天想安装搜狗输入法,遇到了一个问题,就是/boot空间满了,配置不了一些文件。
这里记录以下如何删除不用的内核。
第一步:查看当前的内核情况
在终端输入:
dpkg --get-selections |grep linux-image
然后发现列出来很多,install的表示已经是安装的,deinstall表示未安装。
查看我们在使用的是哪个内核:
uname -a
这个时候,网上教的办法都是使用:sudo apt-get autoremove
,或者是:apt -f autoremove --purge
但是由于/boot已满,以上的命令你用的时候都会提示:(什么什么依赖于什么,但是它不会被安装。。。。)
就算用:sudo apt-get -f install
一样会提示依赖的问题。
这里的解决办法就是手动一个一个的卸载,并且,把依赖的不用包也能卸载掉
执行命令
在终端输入:
dpkg -l | tail -n +6| grep -E 'linux-image-[0-9]+'| grep -Fv $(uname -r)
左边的终端显示了我当前的内核安装情况,它是不会列出你当前使用的内核的。(说明列出的这些内核都在占用你的/boot分区)
如我右边的终端显示,依次删除对应的内核即可:
例如删除最下面这个内核:
sudo dpkg --purge linux-image-4.4.0-165-generic
注意,可能会发现这内核还会依赖于某个配置文件!!!
比如我要删除 linux-image-4.4.0-171-generic的时候,
我运行:sudo dpkg --purge linux-image-4.4.0-171-generic
会提示我,这个文件被linux-modules-extra-4.4.0-171-generic依赖或者
被linux-image-unsigned-4.4.0-171-generic依赖
这个时候必须先删除提示的依赖文件。
先
sudo dpkg --purge linux-unsigned-image-4.4.0-171-generic
再
sudo dpkg --purge linux-image-extra-4.4.0-171-generic
再
sudo dpkg --purge linux-image-4.4.0-171-generic
在删除了多个内核文件以后,查看自己的/boot空间
运行:
df- lh
发现原本100%的/boot区现在变成了70%哈哈。空间就腾出了了。
再来安装搜狗输入法,成功!!!