最近发现我的/根目录磁盘空间不足,可用空间为0%,,,最后通过 du -csh 命令发现/usr目录占磁盘空间最大,所以决定将/usr目录移动到其他空间....
步骤:
因为我其他的空间还是不足,我通过新+的硬盘,重新分区后,进行挂载.
修改 /etc/fstab文件,在最后加入一段:
/dev/sdb1 /mnt/new1 ext3 defaults 0 2 #/dev/sdb1 这个是 我新加的硬盘的第一个分区,,让 #linux启动的时候就将其 挂载到 /mnt/new1 .
重新启动linux.
启动之后通过df -h 查看文件系统...发现已经挂在成功.
/dev/sdb1 /mnt/new1
接下来对/usr目录进行转移.因为/usr文件的重要性,,所以不能通过mv进行一般的移动,,考虑到权限问题,这里用tar命令进行打包存储.
cd /usr
tar -cpf - .|tar -xvf - -C /mnt/new1 #/mnt/new1这个就是/dev/sdb1分区的挂载目录了..先/usr目录内容全部tar到/dev/sdb1中.
因为/usr目录比较大,需要一定的时间...等吧
完成之后,,,,查看下 /mnt/new1下的文件内容和/usr源文件内容是否一致.. ll /mnt/new1 ll /mnt/usr
ok,完工,/usr目录的内容全部到了新区/dev/sdb1中,,接下来要做的是修改/etc/fstab文件,让系统启动的时候自动将/dev/sdb1 挂载到/usr下.修改/etc/fstab将原来的
/dev/sdb1 /mnt/new1 ext3 defaults 0 2
修改成/dev/sdb1 /usr ext3 defaults 0 2
目前/usr文件还没有变更,,通过mv 修改/usr为/usr.bak,这样做就是先不删除/usr文件内容,防止修改之后出现系统问题.
之后,,新建 /usr mkdir /usr
新建/usr一定要做,,,,因为之前我们已经将/usr改成了/usr.bak,系统目前没有/usr,如果不新建的话,/dev/sdb1就无法完成挂载工作,,,因为没有/usr 怎么挂载...
ok,主要工作已经做完了,,,,,现在重新启动计算机,,我当初重启的时候无法完成命令,,,系统无动于衷,,估计原因就是重启的操作命令在/usr下,现在/usr不在了,所以就无法完成重启了,要是 这样的话,那就只能强制重启.
重启之后无法没有发现什么问题的话,,可以将/usr.bak删除掉...这样 /目录的空间有多出来了,