我现在用的 Ubuntu 13.10 已经不再支持了,想升级到 14.04,但是可能是因为之前的版本启动分区设置得太小,导致运行时do-release-upgrade
出现如下错误:
升级已中止。升级总共需要 56.8 M 的可用空间 磁盘“/boot”上的空间。请释放至少 8,059 k 的 '/boot' 上的磁盘空间。清空垃圾并删除临时包 以前的安装都是使用‘sudo apt-get clean’的。
我当前的磁盘使用情况df -h /boot
是:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 88M 34M 47M 43% /boot
文件/boot
位于:
e9t@/$ ls -al /boot drwxr-xr-x 5 root root 1.0K 2014 年 9 月 13 日 [1] grub drwx------ 2 root root 12K 2014 年 3 月 5 日 [2] lost+found -rw------- 1 root root 3.2M 2013年10月10日 [3] System.map-3.11.0-12-generic -rw-r--r-- 1 root root 983K 2013年10月10日 [4] abi-3.11.0-12-generic -rw-r--r-- 1 root root 160K 2013年10月10日 [5] config-3.11.0-12-generic -rw-r--r-- 1 root root 17M 2014年4月8日 [6] initrd.img-3.11.0-12-generic -rw-r--r-- 1 root root 173K 2013年6月17日 [7] memtest86+.bin -rw-r--r-- 1 root root 175K 2013年6月17日 [8] memtest86+_multiboot.bin -rw------- 1 root root 5.4M 2013年10月10日 [9] vmlinuz-3.11.0-12-generic
清洁或释放更多空间/boot
不是一个选项,因为我的 /boot 刚好够容纳必要的文件 - grub
、vmlinuz
和initrd
。
因此我只剩下以下选择:
- 增加分区的大小(但是我必须使用命令行,并且无法使用实时 CD/USB,因为我正在远程工作。)
- 暂时清空
/boot
(或移动一个大文件,例如initrd
),升级操作系统,然后恢复/boot
(或将大文件移回)
哪种方法更安全或更可取?有没有比我提到的两种方法更好的方法来解决我的问题?
答案1
尝试这个:
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
sudo apt-get remove --purge $OLDCONF
sudo apt-get remove --purge $OLDKERNELS