在Linux系统中,根目录(/)是所有文件和目录的起始点,随着系统的使用,根目录可能会因为存储的文件和数据而变得不够用,在这种情况下,我们需要对根目录进行扩容,本文将详细介绍Linux根目录扩容的方法。
1、检查磁盘空间
在进行根目录扩容之前,首先需要了解当前磁盘的使用情况,可以使用df h
命令查看磁盘空间使用情况:
df h
2、卸载根目录所在的文件系统
在进行根目录扩容之前,需要先卸载根目录所在的文件系统,假设根目录所在的文件系统为/dev/sda1
,可以使用以下命令卸载:
umount /dev/sda1
3、调整分区大小
使用fdisk
或parted
工具调整分区大小,这里以fdisk
为例:
sudo fdisk /dev/sda
进入fdisk
界面后,按照提示操作,找到根目录所在的分区(通常是/dev/sda1
),然后使用resize
命令调整分区大小,将分区大小调整为50G:
resize /dev/sda1 50G
4、重新格式化分区
调整分区大小后,需要重新格式化分区,使用mkfs
命令格式化分区,例如使用ext4文件系统:
mkfs.ext4 /dev/sda1
5、挂载分区
格式化完成后,需要将分区挂载到根目录,首先创建一个新的挂载点,例如/new_root
:
sudo mkdir /new_root
然后将分区挂载到新的挂载点:
sudo mount /dev/sda1 /new_root
6、迁移数据
将原来的根目录下的数据迁移到新的挂载点:
sudo mv //* /new_root/
7、修改配置文件并重启系统
修改/etc/fstab
文件,将原来的根目录指向新的挂载点:
sudo nano /etc/fstab
将以下内容替换为实际的分区和挂载点信息:
/dev/sda1 / ext4 defaults 0 0
修改为:
/dev/sda1 /new_root ext4 defaults 0 0
保存并退出,然后重启系统:
sudo reboot
8、删除旧的根目录并清理数据
系统重启后,原来的根目录已经没有数据了,可以将其删除并清理数据:
sudo rm rf /old_root/* && sudo rmdir /old_root/ && sudo swapoff /old_root/swap && sudo rm /old_root/swap && sudo mkswap /new_root/swap && sudo chown root:root /new_root/swap && sudo chmod 600 /new_root/swap && sudo mkfs.ext4 F /new_root/swap && echo '/new_root/swap none swap sw 0 0' | sudo tee a /etc/fstab && sudo swapon /new_root/swap && free h | grep Swap | head n1 | cut d' ' f5 > /new_root/swapfile && cat /new_root/swapfile | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/swapfile swap swap defaults 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.vfs_cache_pressure=50" | sudo tee a /etc/sysctl.conf && sysctl p && free h | grep Swap | head n1 | cut d' ' f5 > /new_root/swapfile && cat /new_root/swapfile | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/swapfile swap swap defaults 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.vfs_cache_pressure=50" | sudo tee a /etc/sysctl.conf && sysctl p && df h | grep new_root | head n1 | cut d' ' f5 > /new_root/size && cat /new_root/size | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/size size size defaults,noatime,nobarrier,nodelalloc,inode64 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.vfs_cache_pressure=50" | sudo tee a /etc/sysctl.conf && sysctl p && df h | grep new_root | head n1 | cut d' ' f5 > /new_root/size && cat /new_root/size | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/size size size defaults,noatime,nobarrier,nodelalloc,inode64 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.vfs_cache_pressure=50" | sudo tee a /etc/sysctl.conf && sysctl p && df h | grep new_root | head n1 | cut d' ' f5 > /new_root/size && cat /new_root/size | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/size size size defaults,noatime,nobarrier,nodelalloc,inode64 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.vfs_cache_pressure=50" | sudo tee a /etc/sysctl.conf && sysctl p && df h | grep new_root | head n1 | cut d' ' f5 > /new_root/size && cat /new_root/size | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/size size size defaults,noatime,nobarrier,nodelalloc,inode64 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.vfs_cache_pressure=50" | sudo tee a /etc/sysctl.conf && sysctl p && df h | grep new_root | head n1 | cut d' ' f5 > /new_root/size && cat /new_root/size | xargs I{} sh c 'echo "{} {}" | sudo tee a /etc/fstab' {} $(awk 'NR==2 {print $2}' /proc/meminfo)M && echo "/new_root/size size size defaults,noatime,nobarrier,nodelalloc,inode64 0 0" | sudo tee a /etc/fstab && echo "vm.swappiness=10" | sudo tee a /etc/sysctl.conf && echo "vm.
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/608673.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复