有的Linux的用户习惯于将整个linux系统安装在同一个分区上,即仅仅单独挂载/根目录,不会将某些特别容易增长或者比较重要的目录单独挂载,当分区磁盘被占满时,就需要进行一些操作了,常用的办法就是将某些目录单独挂载到某个分区上。
最简单方便的办法就是在系统安装的时候把/home,
/var,
/opt(/usr)这些目录单独挂载,即在安装的过程中选择挂载点和对应的分区,本文就不介绍如何安装了,重点解决如何在系统使用一段时间后,将某些重要的目录(本文以/var目录为例)单独挂载到指定分区。
1、首先建立新的可用的分区,本文以fdisk来介绍,GPT分区的磁盘需要使用parted命令来进行分区,以下操作都切换到root身份之行。
fdisk /dev/sda -> n
-> enter -> +20G
->w
这样就从sda上新建了一个20G的分区(未格式化)
有的系统可能提示你需要执行partprobe,如果执行报错,请重启电脑就好。
2、然后格式化之前新建的分区,假设为/dev/sda6
mkfs -t ext3
/dev/sda6(如果依然需要partprobe,则执行,出现错误重启就好)
3、将原来/var目录下的所有数据复制到新的分区上,首先要挂载新的分区。
mkdir test
mount /dev/sda6
test
cd
test
然后复制所有数据
tar -cvf - /var/ |tar -xvf -
复制完成后,要注意test下面的目录结构一定是原来/var下面的目录结构,而不是test目录下面是/var,如果复制后目录结构是test/var/,则需要执行mv
var/* . , 然后rmdir var
4、配置开机自动将
/dev/sda6挂载到/var目录下
vim /etc/fstab
仿照已经存在的格式新建一行记录
UUID=xxxxxxxxx /var rw
0 2
保存并退出后,执行mount -a不报错才正常,报错说明填写的有问题
至于某个分区的UUID是什么,可以通过执行blkid /dev/sda6来获取
5、记得删除挂载在旧分区的/var目录下的内容rm -rf
/var/*,如果不放心的话可以备份为别的目录名字,然后重启电脑新的/var就挂载到指定的分区了。