apt-get autoremove 删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。 ####第一: 查看ubuntu的版本,首先查询当前我们使用的是内核是那个版本别删错了。
uname -a
####第二: 查询系统中装了多少内核
dpkg --get-selections|grep linux
####第三: 多余的内核可以通过命令删除 需要删除header和image
sudo apt-get remove linux-image-*.*.*-**(*号用你想删除的实际情况改写)sudo apt-get remove linux-headers-*.*.*-**(*号用你想删除的实际情况改写)
但是在极个别的情况下,会出现不能删除,应为apt-get本身依赖的内核版本还没有安装好,但是/boot已经满了。 这时候方法是
cd /bootrm *4.4.0.70.genericapt-get -f installsudo apt-get autoremove
####第四
执行完上面命令后再次执行
dpkg --get-selections|grep linux
查看内核是否都删除干净了。没干净继续删除。有的内核后面会显示是deinstall 那需要通过 dpkg --get-selections | grep deinstall | sed 's/deinstall/\lpurge/' | sudo dpkg --set-selections; sudo dpkg -Pa
通过上面方法就可以。
还有一种通过正则表达式匹配内核然后除最新的统统统统删除的。
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/.∗-[0−9]\+/\1/")"'/d;s/^[^ ]* [^ ]* []∗.*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
可以参考一下文章 另外还要比较高端的方法是
这篇文章,对于空间不够有时候还是不不能解决问题的。
dpkg -l | grep linux-imagesudo apt-get purge --remove linux-image-x.x.0-xx-generic
这两个步骤和我文章上写的有点不一样。功能是一样的。
因为在root下删除可能会导致问题
解决方法$ cd /var/lib/dpkg/$ sudo mv info info.bak$ sudo mkdir info$ sudo apt-get update$ sudo apt-get -f install这一步里会出现很多warning,是因为dpkg的info文件的缺失,不用担心,后面用info.bak恢复就可以了。更新和重新配置完成后,恢复info.bak$ sudo mv ./info/*./info.bak$ sudo rm -r info$ sudo mv info.bak info完成以上步骤,理论上问题应该解决了。