升级到 Ubuntu 20.04 — 可用磁盘空间不足

升级到 Ubuntu 20.04 — 可用磁盘空间不足

因此,我花了一下午的时间尝试将 Ubuntu 18.04 升级到 20.04

使用以下命令

sudo update-manager -c -d

但在安装完成一半时反复弹出以下错误

Not enough free disk space

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

我已经完成了释放空间的所有常规步骤,包括删除所有非必要的 Linux 内核等。搜索后,我在这里找到了一个类似的 3 年前的问题 无法更新 ubuntu - 可用磁盘空间不足

这是 $df 命令的结果

Filesystem     1K-blocks      Used Available Use% Mounted on
udev            32870524         0  32870524   0% /dev
tmpfs            6588324      2076   6586248   1% /run
/dev/sda2       41153856  38030268   1010052  98% /
tmpfs           32941612         0  32941612   0% /dev/shm
tmpfs               5120         4      5116   1% /run/lock
tmpfs           32941612         0  32941612   0% /sys/fs/cgroup
/dev/loop0         56320     56320         0 100% /snap/core18/1705
/dev/nvme1n1p1 491209736     71596 466116444   1% /mnt/xxxxxxxxxxxx
/dev/loop1        114432    114432         0 100% /snap/cmake/340
/dev/loop2        116992    116992         0 100% /snap/cmake/283
/dev/loop3         56320     56320         0 100% /snap/core18/1754
/dev/loop4         56064     56064         0 100% /snap/core18/1668
/dev/sda1         562084      7324    554760   2% /boot/efi
/dev/loop5        114432    114432         0 100% /snap/cmake/323
/dev/sda3      660427896 538425036  88432044  86% /home
tmpfs            6588320        52   6588268   1% /run/user/1000

有经验的 Linux 用户能建议我下一步该怎么做吗?谢谢

答案1

您可以尝试一些方法来释放分区中的一些(或大量)空间/。让我们按潜在好处的顺序看看:

1. (重新)移动交换文件

您的安装似乎不包含交换分区,可能使用交换文件进行内存交换。它的默认位置是/swapfile,占用许多千兆字节小型系统分区中的空间。您可以:

  • 在升级期间暂时禁用交换并删除交换文件;
  • /home将交换文件移动到另一个具有更多可用空间的分区(例如:);
  • 缩小/home分区并创建交换分区分割替换交换文件。

在互联网上搜索如何做到这一点。

2. 卸载未使用的大型软件包

您可以搜索手动安装但不再需要的软件包,甚至可以暂时卸载一些较大的软件包并在升级后重新安装。

以下命令列出基于 Debian 的系统中占用最多磁盘空间的 20 个已安装软件包:

$ dpkg-query -Wf '${Installed-Size}\t${db:Status-Abbrev} ${Package}\n' | grep 'ii ' | sort -n | tail -n 20

如果您不认识某个特定的包(该包可能是其他重要包的依赖包),您可以使用以下命令进行调查:

apt rdepends --installed <package-name>

请注意仅删除手动安装的包/依赖项!

3. 清理软件包

作为最后的资源,运行这两个命令:

$ sudo apt autoremove --purge
$ sudo apt autoclean

答案2

遇到了同样的问题并发现最有效的方法是运行sudo apt-get clean,删除 /var/cache/apt/archives/ 的内容并将大文件夹移动到另一个分区,然后在其原始位置创建符号链接,就像这样对于移出 /var/lib/clamav/ 的文件作为示例:sudo ln -s "/home/username/Software/daily.cld" "/var/lib/clamav/daily.cld"

如果可以避免,我认为删除交换文件不是一个好主意。
这两种方法只是我发现升级 Debian 最有用的方法;当您没有足够的磁盘空间进行升级时,更多方法以及删除大量数据的替代方法列在如何清理 Linux 系统以释放磁盘空间?(不删除个人文件)

相关内容