我的计算机上有双启动的 Ubuntu 20.04,几天前我经常在根分区(20GB)中收到“释放磁盘空间”的建议。
当我检查磁盘使用情况时,我可以看到 /usr 目录使用了 7.2GB,/var 使用了 6.1GB,而 /opt 使用了 1.1GB。
当我安装 Ubuntu 时,我不知道要为根分区和主分区分配多少空间,因此我按照教程操作,为第一个分区分配了 20GB,为第二个分区分配了 130GB,现在根分区的使用率为 92%,主分区的使用率为 13%,因此我想为根分区提供更多主分区未使用的空间,或者将 /usr(/var 和 /opt 也是)移动到 /home 目录内,以便获得 /home/usr;home/var 和 home/opt 结构。
我刚刚看到这个帖子如何将 /usr 移动到新分区?这是具有相同问题的唯一可用方法,但我不想为 usr 创建新分区,所以我只是复制了目录,但我害怕继续下一步。
我不想冒险直接移动目录,因为从其他论坛来看这似乎很危险;而且显然我不想在“/”中保留副本,因为我需要释放那里的空间。
我已经按照其他帖子清理了旧的内核版本和无用的已安装软件包,但这还不够;目前我无法继续使用任何 Live CD 解决方案,因为我没有随身携带 USB 记忆棒。
我能做什么?
答案1
根本的解决方案是调整分区大小。
不过,系统的几个部分可以移至单独的分区,然后用符号链接替换。符号链接确保保留传统的文件系统层次结构标准。
这并不像听起来那么奇怪。从历史上看,Linux 系统从非常小的分区启动。链接用于指向存储在不同分区上的系统文件。例如,整个/usr
目录安装在不同的分区上。然而,/usr
现在尤其应该不是被移动,因为基本二进制文件(/bin
)和库(/lib
)已移至/usr/bin
。
单独的分区应使用支持 Linux 权限的文件系统进行格式化,并在启动时自动挂载。您的/home
分区满足这些条件。移动应以保留所有文件属性和权限的方式进行。
原则上,任何在启动过程早期未使用的文件都可以被移动。您很可能用符号链接替换 /opt。此外,/tmp 和 /var/tmp 也可以用符号链接替换。此外/snap
或/var/lib/flatpak
很可能可以用符号链接替换,也可能还有其他文件,但您需要对此进行测试。