我是 Ubuntu 新手,正在联想笔记本上运行 14.04。我无法安装更新,因为 /boot 上没有足够的磁盘空间。当我在终端中尝试“sudo apt-get clean”时,没有任何反应。可能是什么问题呢?
答案1
您可能在/boot
.一般来说,您最多只需要两个内核:当前正在运行的内核和正在安装的内核。一旦您升级到新内核并重新启动并知道它可以工作,您就可以删除旧内核。打包系统往往会因为谨慎而犯错误,并冒着填满磁盘的风险,而不是给您留下一个无法启动的系统。
尝试命令
sudo apt-get autoremove
看看它说什么。根据系统的安装方式、您使用的包管理工具以及 Ubuntu 的版本,它可能会提供删除旧内核的功能,并且可能会提供删除您想要保留的其他包的功能。如果这里有任何您不确定的包,请说“否”。如果您知道要保留某个包,请运行,然后不再提出删除该包名称。sudo apt-mark manual PACKAGENAME
apt-get autoremove
如果自动方法不适合您,请生成要显式删除的内核映像包列表。您需要保留正在运行的内核和最新版本。以下 shell 命令列出了已安装的linux-image
软件包(这些是占用 中空间的软件包/boot
),省略了最新版本(排序后的最后一行)和正在运行的版本(通过 获得uname -r
)。
dpkg-query -W -f '${Package}\n' | sort -V | sed '$d' |grep -vx linux-image-$(uname -r)
如果您不想保留最新版本(因为无论如何您都会安装更新的版本),而只想保留正在运行的版本,您可以将其缩小为
dpkg-query -W -f '${Package}\n' | grep -vx linux-image-$(uname -r)
您可以删除这些包以及匹配的标头包(如果已安装)。
sudo apt-get purge $(dpkg-query -W -f '${Package}\n' | sort -V | sed '$d' |grep -vx linux-image-$(uname -r) | sed 'p; s/image/headers/')
也可以看看如何释放/boot 中的更多空间?在我们的姐妹网站上询问 Ubuntu,提出了类似的方法。