在最近的更新后,我收到一条警报:
The volume boot has only 0 bytes disk space remaining
Run Code Online (Sandbox Code Playgroud)
但是我的电脑有很多可用的高清空间。有谁知道我如何解决这个问题。(如果相关,我正在使用 Ubuntu 12.04 的备用安装映像的整个磁盘加密功能)。
Par*_*aub 50
列出所有内核:
dpkg --get-selections | grep "linux-image-[[:digit:]].*" | tr "\t" ";" | cut -d ";" -f1
结果看起来有点像这样:
linux-image-3.19.0-7-generic
linux-image-3.18.0-13-generic
linux-image-3.16.0-23-generic
Run Code Online (Sandbox Code Playgroud)
接下来让我们移除 3.16 内核,
sudo apt-get purge linux-image-3.16.0-23-generic
然后是系统中所有未使用的包:
sudo apt-get autoclean && sudo apt-get autoremove
Sel*_*lah 27
原因确实是旧的内核映像。
为了清理我所要做的就是运行一行:
sudo apt-get autoclean && sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)
这会自动识别旧内核并将其删除。
可能是您的/boot分区在随着时间的推移进行升级时积累了太多内核版本。此分区可能与您的大磁盘分区(安装为/)分开。您可以/boot像这样检查分区空间(查找带有 /boot 的行):
df -h
Run Code Online (Sandbox Code Playgroud)
关于如何删除旧内核有一个很好的页面。
简而言之,检查您当前的内核版本,获取已安装的列表,然后 apt-get 删除旧版本。页面上还有一个“神奇”的单行命令,可以为您完成所有这些。但使用它需要您自担风险。
更详细的说明:
获取当前内核版本,即您要保留的版本:
uname -r
Run Code Online (Sandbox Code Playgroud)获取所有已安装内核的列表:
dpkg -l | grep linux-image-
Run Code Online (Sandbox Code Playgroud)在要删除的内核上运行 apt-get remove。不是最新的!例如:
sudo apt-get remove linux-image-2.6.32-22-generic
Run Code Online (Sandbox Code Playgroud)更多注意事项:
rc linux-image-3.13.0-39-generic ...
ii linux-image-3.13.0-40-generic ...
Run Code Online (Sandbox Code Playgroud)
基于此,您可以仅列出已安装的内核包:
dpkg -l | grep "ii.*linux-image-"
Run Code Online (Sandbox Code Playgroud)替代解决方案,使用 GUI 工具Ubuntu Tweak。
安装并转到 Computer Janitor,检查 System->Old Kernel and System->Unneeded packages,然后按 Clean。
| 归档时间: |
|
| 查看次数: |
57617 次 |
| 最近记录: |