我想重新组织我的文件系统。我分配了交换空间但没有使用。我的/
分区总是溢出,因此我一直将大目录移动到单独的分区/mnt/nvme0n1p4
。我突然想到,将所有这些目录移回并从现在的位置/home
挂载可能会更明智。/home
/mnt/nvme0n1p4
我还想/
用现在的空间来扩展/nvme0n1p2
。
我不是每天都做这种事。所以我想我应该就我的计划寻求一些反馈。
我的计划是执行以下操作:(我在实际执行计划后添加了一些粗体注释。)
- 将内容复制
/home
到/mnt/nvme0n1p4
/mnt/nvme0n1p4
将现在符号链接到的所有目录复制/home
到正确的位置/mnt/nvme0n1p4/me
sudo rm -rf /home/*
<--根据 @raj 建议进行编辑sudo mount /dev/nvme0n1p4 /home
- 更改以下行
/etc/fstab
:
UUID=aaf7e7e2-d36b-4877-b862-612d403a15da /mnt/nvme0n1p4 ext4 defaults,noatime 0 2
到
UUID=aaf7e7e2-d36b-4877-b862-612d403a15da /home ext4 defaults,noatime 0 2
将 的内容备份
/
到 上的某个位置/mnt/data
。万一。使用 gparted 删除并添加到 <--
[SWAP]
前面/
对我来说效果很好/etc/fstab
从<--中删除 [SWAP]我一开始忘记了这一步。导致启动时出错。所以我必须通过可启动的 USB 来执行此操作。完成的?
一些系统信息
me@mypc $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
└─sda1 8:1 0 931,5G 0 part /mnt/data
sdb 8:16 0 111,8G 0 disk
└─sdb1 8:17 0 111,8G 0 part /opt
nvme0n1 259:0 0 931,5G 0 disk
├─nvme0n1p1 259:1 0 300M 0 part /boot/efi
├─nvme0n1p2 259:2 0 16G 0 part [SWAP]
├─nvme0n1p3 259:3 0 32G 0 part /
└─nvme0n1p4 259:4 0 883,2G 0 part /mnt/nvme0n1p4
me@mypc $ df
Filesystem Size Used Avail Use% Mounted on
dev 16G 0 16G 0% /dev
run 16G 1,7M 16G 1% /run
/dev/nvme0n1p3 32G 29G 1,3G 96% /
tmpfs 16G 324M 16G 3% /dev/shm
tmpfs 4,0M 0 4,0M 0% /sys/fs/cgroup
tmpfs 16G 50M 16G 1% /tmp
/dev/sdb1 110G 26G 79G 25% /opt
/dev/nvme0n1p4 869G 412G 413G 50% /mnt/nvme0n1p4
/dev/nvme0n1p1 300M 312K 300M 1% /boot/efi
/dev/sda1 916G 113G 757G 13% /mnt/data
tmpfs 3,2G 56K 3,2G 1% /run/user/1000
me@mypc $ ls /mnt/nvme0n1p4
docker Documents Downloads home lost+found R Repos 'VirtualBox VMs' VMs
me@mypc $ ls -l ~/.
total 32
drwxr-xr-x 3 me me 4096 5 dec 10:38 bin
drwxr-xr-x 9 me me 4096 20 dec 21:48 CytoscapeConfiguration
lrwxrwxrwx 1 me me 10 3 nov 16:03 Data -> /mnt/data/
lrwxrwxrwx 1 me me 25 4 nov 09:55 Documents -> /mnt/nvme0n1p4/Documents/
lrwxrwxrwx 1 me me 24 8 nov 00:36 Downloads -> /mnt/nvme0n1p4/Downloads
drwxr-xr-x 3 me me 4096 10 dec 23:16 igv
drwxr-xr-x 3 me me 12288 16 feb 15:57 Pictures
lrwxrwxrwx 1 me me 16 13 nov 09:41 R -> /mnt/nvme0n1p4/R
lrwxrwxrwx 1 me me 20 9 nov 14:06 Repos -> /mnt/nvme0n1p4/Repos
drwxr-xr-x 3 me me 4096 4 nov 08:14 snap
drwxr-xr-x 4 me me 4096 14 feb 20:22 tmp
lrwxrwxrwx 1 me me 9 3 nov 16:58 Unsorted -> /mnt/tmp/
预期结果
me@mypc $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
└─sda1 8:1 0 931,5G 0 part /mnt/data
sdb 8:16 0 111,8G 0 disk
└─sdb1 8:17 0 111,8G 0 part /opt
nvme0n1 259:0 0 931,5G 0 disk
├─nvme0n1p1 259:1 0 300M 0 part /boot/efi
├─nvme0n1p3 259:3 0 48G 0 part /
└─nvme0n1p4 259:4 0 883,2G 0 part /home
答案1
不过,基本上看起来不错:
- 在步骤 3 中,
rm -rf /home
最好不要做rm -rf /home/*
。您不应该删除/home
目录本身,而只能删除它的内容,因为您需要一个空的/home
目录作为安装点存在。如果您碰巧删除了该/home
目录,则需要使用与先前/home
目录相同的所有权和权限重新创建它。 - 执行步骤 3 和 4 时,您应该处于目录之外
/home
,即。您当前的目录应该是例如/
或/root
.如果您的系统可以的话,最好直接登录为执行整个操作root
,这样您就/home
根本不会使用该目录。
我也不确定是否用以下空间扩展根分区前那个分区。 (我猜你的nvme0n1p2
位置之前nvme0n1p3
位于磁盘上)。虽然将分区和文件系统扩展到分区末尾之后没有问题,但我不确定这是否同样适用于在分区开始之前扩展它。我不确定 gparted/e2fstools 是否能够向后移动 inode 表和所有文件系统结构,朝向分区的新起点。也许有对此类变化更有经验的人可以回答这个问题。