# 刷新可更新的软件包列表 sudo apt-get update # 更新软件包并智能地处理需要更新的软件包的依赖关系 sudo apt-get dis-upgrade # 清理软件缓存 sudo apt-get clean # 清理旧版本的软件缓存 sudo apt-get autoclean # 移除孤立软件包 sudo apt-get autoremove
在Ubuntu内核镜像包含了以下的包:
linux-image-: 内核镜像 linux-image-extra-: 额外的内核模块 linux-headers-: 内核头文件
如果升级到了一个新的内核,并且还比较稳定,那么老的内核就可以清理了。
GRUB管理器为每个旧内核都维护了一个GRUB入口,以备你想要使用它们。
作为磁盘清理的一部分,如果你不再使用这些,你可以考虑清理掉这些镜像。
在删除旧内核之前,记住最好留有2个最近的内核(最新的和上一个版本),以防主要的版本出错。
方法如下:
$ sudo dpkg --get-selections | grep linux 或 $ sudo dpkg --list | grep linux-image $ sudo dpkg --list | grep linux-headers
结果:
libselinux1 install linux-firmware install linux-generic install linux-headers-3.0.0-12 install linux-headers-3.0.0-12-generic install linux-headers-3.0.0-16 install linux-headers-3.0.0-16-generic install linux-headers-generic install linux-image-3.0.0-12-generic install linux-image-3.0.0-16-generic install linux-image-generic install linux-libc-dev install linux-sound-base install pptp-linux install syslinux install syslinux-common install util-linux install
$ uname -a
结果:
Linux hostname 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:49:42 UTC 2012 i686 i686 i386 GNU/Linux
$ sudo apt-get purge linux-headers-3.0.0-12 linux-image-3.0.0-12-generic
上面的命令会删除内核镜像和它相关联的内核模块和头文件。
注意如果你还没有升级内核那么删除旧内核会自动触发安装新内核。这样在删除旧内核之后,GRUB配置会自动升级来移除GRUB菜单中相关GRUB入口。
如果你有很多没用的内核,你可以用shell表达式来一次性地删除多个内核。注意这个括号表达式只在bash或者兼容的shell中才有效。
$ sudo apt-get purge linux-image-3.19.0-{18,20,21,25} $ sudo apt-get purge linux-headers-3.19.0-{18,20,21,25}
上面的命令会删除4个内核镜像:3.19.0-18、3.19.0-20、3.19.0-21 和 3.19.0-25。
如果GRUB配置由于任何原因在删除旧内核后没有正确升级,你可以尝试手动更新配置。
$ sudo update-grub
再次查看一下内核列表,就发现旧版本已经不存在了!