大型 zypper dup → 根分区已满 → (天知道)我现在很痛苦

大型 zypper dup → 根分区已满 → (天知道)我现在很痛苦

Suse Tumbleweed 尝试对系统进行一次大型更新(一次约 6000 个软件包)并填充了根文件系统,根据安装程序的建议,该系统的大小为 35 Gb。

我尝试①删除RPM文件的缓存,但zypper/rpm通知我它需要在根分区上创建一些临时文件并失败,②卸载一个没有反向依赖项(Zoom)的较大软件包,但rpm通知我它需要在根分区上创建一些临时文件,但失败了,③我使用了btrfs file system resize +5G /,但被告知ERROR: unable to resize '/': no enough free space④,所以我将/home分区缩小了20Gb,然后再试一次,同样的问题。

这是来自df

localhost:~ # df /
Filesystem               1K-blocks     Used Available Use% Mounted on
/dev/mapper/system-root   36700160 32168820         0 100% /

…从上面看来,有 4531340 个 1K 块空闲(≈ 4.5Gb),虽然我知道文件系统需要一些肘部空间…

我真的很想将我的用户文件复制到 USB 密钥并安装 Debian,因为apt每次我试图自掘坟墓时,它都会及时告知我磁盘空间问题,但我宁愿等待有关下一步行动的明智建议。


例如,那堆/.snapshots/xyz目录看起来是一个有希望的目标,rm -fr …但是 - 我不知道,我真的需要一些指导!

聚苯乙烯在过去的一个小时里,我学到了一些东西snapper,至少是我需要先不去/.snapshots想的东西,直到专家向我揭示不同的观点。


这是更合适的命令的输出,

localhost:/ # btrfs filesystem df /
Data, single: total=33.21GiB, used=28.92GiB
System, single: total=32.00MiB, used=16.00KiB
Metadata, single: total=1.76GiB, used=1.69GiB
GlobalReserve, single: total=73.45MiB, used=0.00B

再次,有超过 4 GB 的未使用(可用?)空间,并且由于磁盘已满,一切都失败了。


我想提一下,如果某些 Windows 工具支持操作 BTR 文件系统,我可以启动 Windows,这会有所帮助,不是吗?

答案1

我有 openSuSE tubeleweed 和小型 SSD - 80GB(将在不久的将来更换它),所以我完全理解你的空间问题。

更新 OpenSuse tumbleweed 的最佳方法是:

zypper ref && zypper dup --no-allow-vendor-change

  1. 您需要检查您的图像鲷鱼

snapper当事情出现问题时,它真的很有用——它会为你的系统创建快照。由于没有足够的空间,我必须定期修剪快照。以下是具体操作方法。

列出当前快照:

sudo snapper ls 这将为您提供一个包含所有快照的表。您无法删除第一个(root,键入 single)。后续的可以根据编号删除。

要删除快照 2 到 11,请执行以下操作: sudo snapper rm 2-11

  1. 禁用转速缓存你可以配置zypper

sudo zypper modifyrepo -K --all

modifyrepo commands provide further options to tune the behavior per repository.

-K, --no-keep-packages
               Disable RPM files caching.
--all,  on all repositories

相关内容