Linux根目录空间不足,主分区拓容可还行?

       补充:gparted可以给ext4格式的主分区拓容,因为是对主分区进行操作,所以要在live cd或者live usb中操作,具体操作我就不赘述了,参考这篇文章 。 

       今天因为想做些Linux实验,所以打开了我的虚拟机,在实验过程中我发现磁盘空间不够用了,因为这个Linux虚拟机是我之前创建的,以前以为不需要多大所以创建的时候磁盘空间分配的比较小,导致了现在的尴尬。

       在拓容解决磁盘空间大小的过程中。了解了Linux文件系统的一些特性,也知道了一些新的知识点,故想把这个记录下来,和大家一起分享,便于日后查看,也是希望能帮到有和我一样问题的同学。

       一开始,我的思路是,想可不可以直接拓容到/根目录的文件系统中。但百度后,我才发现要实现那种动态增加分区大小的功能,得采用逻辑卷管理,所以主分区拓容是不可能拓容了,这辈子都不可能拓容了。(开个玩笑

       能做到拓展到更分区的方法,只能是先备份原分区的文件系统,然后删除分区,在重新创建分区,最后恢复备份。
这种方法工作量太大而且繁琐,一件事情如果需要经过的步骤越多,那在这过程中出现问题的可能性就越高,加之Linux大都是服务器,不适合如此高危险的操作。

       如果直接随便挂载到一个目录,那么系统空间不足时,是不会主动把文件放到该目录的,那这次拓容根本没有达到目的。相当于C盘空间不足,你加了D盘的空间。

       那么能不能挂载到占用空间最大的目录下呢,看了下/usr目录占用的最多,就决定是你啦!当然在此之前笔者也是知道/usr目录是干嘛的,所以并没有贸然操作,先实验了下我的想法。然后发现了Linux文件系统分配方式
举例说明,假设根分区/下有/home/test,里面有个文件a,根分区是建立在/dev/sda1上的,若此时将/dev/sda2挂载到/home/test上,那/home/test原先指向的/dev/sda1上磁盘空间将会被/dev/sda2取代。
此时原文件系统中的文件都会丢失,即a文件没了,至于有没有其他方式可以访问到,笔者没有继续探究,好奇的同学可以自己解决,如果成功了,还希望能把方法留言告诉我。
就像买了新车,把旧车的牌照装到新车上,旧车上的零部件自然不会跑到新车上。所以挂载文件系统的时候,一定要挂载到新建的目录或者空目录。

       既然文件会丢,那干脆先移动过来,再替换不就好了。

       所以我就先把/dev/sda2挂载在其他目录/home/test,考虑到/usr目录下的文件太多,又多是小文件,费时又损磁盘,最后笔者把/usr目录换成了/usr/share,即把/usr/share目录下的文件全部移动过去,然后重新挂载到/usr/share目录下即可,不过/usr目录中的文件对Linux来说十分重要,请谨慎操作。

      ps:移动过去后可能会出现乱码,可以尝试重启系统。
      pps:mv /usr/share/ /home/test
      才是把目录下所有的文件移动过去,如果不加,你的/home/test目录下会多出一个/share文件夹(别问我怎么知道的

       其他未尽事宜,同学们请自行寻找解决办法,也可以留言,不过我也不知道什么时候会看到,23333
最最后如果你有更好的方法也请留言告诉我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值