我使用的是 Arch Linux,这是当前磁盘布局的概述:
❯ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476,9G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
├─nvme0n1p2 259:2 0 300G 0 part /
└─nvme0n1p3 259:3 0 175,9G 0 part /home
❯ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 295G 82G 198G 30% /
/dev/nvme0n1p3 173G 87G 77G 53% /home
/dev/nvme0n1p1 1022M 84M 939M 9% /boot
由于我发现我可能为root
分区分配了太多空间,而为分区分配了太少空间home
,因此我想知道是否可以将一些可用空间从一个分区转移到另一个分区。我想到了以下步骤:
- 备份整个系统
- 从 Live arch USB 启动
- 调整根分区的大小(这会给我一些未分配的空间)
- 删除当前/home分区
- 创建并格式化新的主分区
nvme0n1/nvme0n1p3
- 将旧的 /home 文件转移到新创建的部分
假设到目前为止这些步骤是合理的,当然还有更多步骤需要遵循。我到底该怎么做才能恢复旧系统而不造成太大混乱?我想避免从 0 重新安装并保留已安装的程序、docker 映像等。
另外,我想问一下:
- 考虑到我经常使用 docker 并且将来可能会安装相当数量的程序(现在我已经使用了约 82G),哪些是一些好的 root-home 大小?
- 您对克隆 /home 分区时的排除文件列表
rsync
(如缓存、node_modules、site_packages 等)有什么建议吗?
答案1
首先,您必须从 Live USB 启动。仅当磁盘的任何分区均未挂载时,您才能修改该磁盘。
man gparted resize2fs
开始之前请先阅读。
IDKgparted
位于 Arch Live USB 上,但 Live Gparted USB 也可用。
跑步gparted
。一定要选择正确的磁盘!。
选择nvme0n1p2
,通过降低其上限来缩小它(至 100GB?YMMV)。这将在nvme0n1p2
和之间创建未分配的空间nvme0n1p3
。
选择nvme0n1p3
。调整下限以消耗未分配的空间。
单击Apply
页面底部的 来gparted
实际进行更改。
等到gparted
完成。它有很多事情要做。
移除 Live USB,然后重新启动
man gparted resize2fs
开始之前请先阅读。
是的,上面那段话又重复了。恕我直言,阅读msn
页面是一项神圣的职责。