在安装系统时由于没有合理地分配,导致home主目录的内存分配过小,久而久之内存逐渐不是很够用,这时候需要把home目录进行扩容处理,以下有一个方法,就是把home通过挂载到其他分区的方法达到扩容的地步。
我们先找到合适容量的分区,例如我的数据盘(/data)中就拥有足够的空间(1TB),所以打算把home挂载到/data本来的分区下(注:如果是未进行分区或者未使用的磁盘空间,请先进行分区挂载,这里讲解使用已经挂载的分区情况):
首先我们需要使用指令
df -h
查看数据盘所在的磁盘分区:
如例子中的/data就在/dev/sdb4分区中,接下来我们就使用指令
sudo rsync -aXS /home/ /data
将home目录下的所有东西都同步到/data所在的分区,也就是/dev/sdb4下
这时候,/dev/sdb4下就存放着与/home目录下一摸一样的文件,因为此时/data时挂载到/dev/sdb4下的,所以你也可以通过ls /data查看到这些文件。 这时候,我们把/home目录进行重命名操作,这里建议是进行一个备份操作,把/home目录改成一个易记的名字,以作还原操作:
sudo mv /home /home_backup(名字自己定义)
这时候你就会在根目录( / )下看到原本的home目录已经被修改为“home_backup”:
随后在新建一个/home目录
sudo mkdir /home
这时候你就会在根目录( / )下看到一个新建的“/home”,但什么都没有
这时候的关系如图下所示:
下一步,我们取消/data数据盘对/dev/sdb4的挂载
sudo umount /dev/sdb4
再次执行指令“df -h”会发现/dev/sdb4这项信息已经消失
而后我们再把新建的/home目录挂载到/dev/sbd4分区上去
sudo mount /dev/sdb4
随后再次执行“df -h”会发现/dev/sdb4重新出现
此时,我们已经完成了对/home对/dev/sdb4分区的挂载操作
但是这只是临时的挂载方式,我们需要一个永久性的操作,所以需要把/dev/sdb4与/home、永久性地绑定起来,使用以下指令查看到/dev/sdb4的UUID
blkid
随后我们找到需要绑定的分区,例子是/dev/sdb4,把它的UUID复制下来
随后我们打开/etc/fstab文件,在文件的最底下添加一条内容:
UUID=XXXX-XXXX-XXXX(磁盘UUID) /home ext4 nodev,nosuid 0 2
同时,在/etc/fstab文件下,找到之前一条绑定/data的信息,将其使用“#”屏蔽掉
如此,我们的重新挂载工作就全部完成了,重启系统,重新进入根目录使用指令"df -h",会发现/home目录永久挂载在了原本的数据盘上。