释放 `/boot` 文件目录空间
[TOC]
释放 /boot
文件目录空间
下列两个方法前提是 /boot
分区未 100% 占用,且 apt 可用
软件方法
- 安装软件
byobu
sudo apt install byobu -y
- 管理员权限运行即可
sudo purge-old-kernels
该软件默认保留至少两个内核,包括当前正在使用的内核,如果要重定义保存的内核数,必须重新定义,下例为更改为只保留当前内核
sudo purge-old-kernels -y --keep 1
清楚剩余杂项
sudo apt -y autoremove --purge
手动方法
- 找出旧的内核文件名
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
会显示大概类似下方存在的旧内核文件
linux-image-3.19.0-25-generic
linux-image-3.19.0-56-generic
linux-image-3.19.0-58-generic
linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-25-generic
linux-image-extra-3.19.0-56-generic
linux-image-extra-3.19.0-58-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
- 删除自己不需要的即可
sudo apt-get purge linux-image-3.19.0-25-generic
sudo apt-get purge linux-image-3.19.0-56-generic
sudo apt-get purge linux-image-3.19.0-58-generic
sudo apt-get purge linux-image-3.19.0-59-generic
sudo apt-get purge linux-image-3.19.0-61-generic
sudo apt-get purge linux-image-3.19.0-65-generic
- 清楚剩余杂项
sudo apt-get autoremove
- 更新
grub
sudo update-grub
- 如果你遇到错误如下:
update-initramfs: Generating /boot/initrd.img-5.0.0-fancyking
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-5.0.0-fancyking with 1.
dpkg: error processing package initramfs-tools (--remove):
subprocess installed post-installation script returned error exit status 1
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for dbus (1.10.6-1ubuntu3.3) ...
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
请执行下述操作修复即可
5.1 重命名当前 info
文件
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak
5.2 新建一个 info
文件夹
sudo mkdir /var/lib/dpkg/info
5.3 更新
sudo apt update
5.4 安装缺失文件
apt -f install -y
5.5 新文件拷贝
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bak
5.6 删除自己新建的 info
sudo rm -rf /var/lib/dpkg/info
5.7 更改备份文件名至正常文件名
sudo mv /var/lib/dpkg/info.bak /var/lib/dpkg/info
修复完毕
下列方法特地针对 apt
不可用或者 /boot
占用到 100%
- 查询除当前内核外其他的内核文件
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
显示如下
linux-image-3.19.0-25-generic
linux-image-3.19.0-56-generic
linux-image-3.19.0-58-generic
linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-25-generic
linux-image-extra-3.19.0-56-generic
linux-image-extra-3.19.0-58-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
- 删除其余内核(一定一定不要删除当前内核 ($uname -r))
如果按照上述显示,可以删除内核的扩展命令如下
sudo rm -rf /boot/*-3.19.0-{25,56,58,59,61,65}-*
- 整理安装
sudo apt -f install
- 删除无用的内核映像包文件
sudo apt autoremove
- 更新
grub
sudo update-grub
至此结束