有一天 登陆服务器输入一个命令使用Tab补全时,突然出现下面错误

-bash: cannot create temp file for here-document: No space left on device

bash 不能创建临时文件 因为没有磁盘空间

也就是硬盘满了😬

急忙拿df 一看 果然是根目录下占用100%

/dev/sda6 225762756 217003956 0 100% /

/home没有独立分区再看home目录占多少

1
2
~# du -s /home
'183516976	/home'

/home占用 80%的空间 把/home独立出来就可以了

  • 查看磁盘信息
1
2
3
4
5
6
7
~# fdisk -l
'Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x29f52380'
  • 对磁盘进行分区

~# fdisk /dev/sdb

按提示操作 p打印 n新增 d 删除 w操作生效 q退出 操作后 w

~# partprobe

强制让内核重新找一次分区表(更新分区表) 这里我们新增一个分区 /dev/sdb1 大小为1.8 TiB

  • 格式化分区

~# mkfs -t ext4 /dev/sdb1

格式化为ext4格式

  • 挂载分区到临时目录
1
2
3
4
5
6
~# mkdir /mnt/home
~# mount /dev/sdb1 /mnt/home # 挂载到/mnt/home
~# df -h # 查看挂载磁盘信息
~# cp -a /home/* /mnt/home/  # 把home下的东西拷到挂载的目录下,备份
~# rm -rf /home/*  # 删除干净/home
~# umount /dev/sdb1  # 卸载磁盘
  • 设置开机挂载
1
2
~# vi /etc/fstab
# 尾行添加 '/dev/sdb1  /home  ext4  defaults  0  2'
  • 挂载磁盘
1
2
3
4
5
~# mount -a
# 挂载未加载的磁盘
~# df # 查看磁盘信息
'/dev/sdb1      1922728752  183585916 1641450780  11% /home'
# 挂载成功