Ubuntu 升级:/var/ 目录中的磁盘空间不足。

我目前正在运行Ubuntu 15.10,但尝试升级到16.04。 当我运行sudo do-release-upgrade时,进程会中止,并显示以下消息:

Not enough free disk space 

The upgrade has aborted. The upgrade needs a total of 2,206 M free 
space on disk '/var'. Please free at least an additional 4,623 k of 
disk space on '/var'. Empty your trash and remove temporary packages 
of former installations using 'sudo apt-get clean'. 

我尝试了 sudo apt-get clean 但它并没有显著减少空间,而且我不太明白为什么会出现这个错误。 我的磁盘分区是这样的:
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           787M  9.8M  777M   2% /run
/dev/sda6        26G   14G   11G  58% /
tmpfs           3.9G  233M  3.7G   6% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda4       923M  8.6M  851M   1% /tmp
/dev/sda3       3.7G  1.4G  2.1G  40% /var
/dev/sda2        78G   47G   28G  63% /home
/dev/sda1       256M   32M  225M  13% /boot/efi
tmpfs           787M   12K  787M   1% /run/user/121
tmpfs           787M   20K  787M   1% /run/user/1000

为什么升级程序需要在/var分区上腾出空间,即使操作系统并未安装在那里?
另外,以防有帮助的话,这是/var目录的内容(在我看来看起来相当正常):
total 88
drwxr-xr-x  15 root root      4096 Aug 17  2015 .
drwxr-xr-x  23 root root      4096 Feb  4 19:38 ..
drwxr-xr-x   2 root root      4096 Jan 26 19:38 backups
drwxr-xr-x  22 root root      4096 Oct 23 22:24 cache
drwxrwsrwt   2 root whoopsie  4096 Feb  3 22:25 crash
drwxr-xr-x  79 root root      4096 Feb  4 19:38 lib
drwxrwsr-x   2 root staff     4096 Apr 17  2015 local
lrwxrwxrwx   1 root root         9 Aug 16  2015 lock -> /run/lock
drwxrwxr-x  13 root syslog    4096 Feb  4 18:45 log
drwx------   2 root root     16384 Aug 16  2015 lost+found
drwxrwsr-x   2 root mail      4096 Apr 22  2015 mail
drwxrwsrwt   2 root whoopsie  4096 Apr 22  2015 metrics
drwxr-xr-x   2 root root      4096 Apr 22  2015 opt
lrwxrwxrwx   1 root root         4 Aug 16  2015 run -> /run
drwxr-xr-x   9 root root      4096 Feb 26  2016 spool
drwxrwxrwt 126 root root     20480 Feb  4 20:11 tmp
drwxrwxr-x   2 root plugdev   4096 Sep  3  2013 upek_data

非常感谢任何帮助!

提示:'磁盘使用分析器'非常适合查找不需要的文件。 - Gayan Weerakutti
1个回答

为什么升级程序需要/var分区的空间,而操作系统并不是安装在那里?
升级程序需要先下载所有新版本的替代.deb软件包,然后才能安装它们。它将这些文件存储在/var/cache/apt/archives目录下。
根据您提供的信息,您有一个独立的/var分区,剩余空间只有大约2GB。您当前的根分区使用了大约14GB的空间。即使考虑到不需要在新版本中复制的多余软件包(例如旧内核等),两者之间的差异仍然太大,根据升级程序的估计约为4.6GB。
如果您没有选择独立的/var分区,而是将/var放在根分区中,这个问题就不会发生,因为您的根分区相当大。
解决这个问题的一种方法是通过从/dev/sda6或/dev/sda2中获取空间来调整(扩大)/var分区的大小。由于无法在挂载的分区上进行修改,您将需要使用来自live ubuntu USB设备的gparted工具来完成此操作。请注意,您需要从一个live介质(而不是当前的硬盘安装)上进行操作。
注意:如果你还没有这样做的话,现在是备份你的系统的好时机。一旦所需文件下载完成并开始更新,除非重新安装或有备份可恢复,否则无法返回到之前的版本。

1谢谢!我记得当我分区我的磁盘时,我有一些(可能是令人信服的)理由要有一个单独的/var分区,但是我现在无论如何都记不起来了。我可能还有一些活动的USB驱动器,所以我会按照你的建议来调整/var的大小,尽管我也可能决定将其合并到/目录中。 - Jo Bridgwater