那天写项目代码,cmake编译生成文件的时候给我说磁盘不够了..文件没法生成,因为当时是远程连接的,所以就先断了连接,重启了虚拟机!好家伙重启之后因为内存不够,根本进不到gnu界面,就是想重新扩容操作都没办法!
总之遇到这种情况就是要对根目录磁盘空间进行扩展。
如果你的虚拟机还能进去,那么直接看后面步骤,前面这块说说最麻烦,空间不够了,虚拟机怎么进去.
清空间
当你的启动界面左上角是一个小横杠闪烁,那么就不断地重启客户机,在启动过程中疯狂按ctrl+alt+F3这样,才有可能进到一个终端黑框框,进去之后用命令看占用情况
1、启动ubuntu,在启动界面狂点 ctrl+alt+F3 能进入终端,如果有账号密码会提示输入账号密码,查看挂载情况,如果第三行显示100%,就是挂载满了
显示当前系统所有挂载的文件系统的空间使用情况:
df -h
这个图是我进到正常界面展示的,反正你就看我框起来的地方占用率就行
第二步,看完挂载情况,就是删不用的文件,释放空间。这样重启之后才能进到linux操作系统gnu界面里面,去扩容
至于删什么文件,我推荐两个博客,学习一下删一些东西估计就能进去了
系统垃圾清理
# 清理旧版本的软件缓存,删除你已经卸载掉的软件包
sudo apt-get autoclean
# 清理所有软件缓存,电脑上存储的安装包全部卸载
sudo apt-get clean
# 删除系统不再使用的孤立软件
sudo apt-get autoremove
基本上输入完这些指令,电脑的内存就会获得1%-10%的释放。
要想删的细致点:看这个博客:ubuntu清理空间技巧 包含【系统日志、缓存、无用包、内核、VScode、conda、snap、pip】_ubuntu清除缓存 清除日志_CyberTorch的博客-CSDN博客
后面我发现一个好用的命令 du,可以很快的定位到占大磁盘空间的文件,可以按照我下面这个演示去释放磁盘空间
sudo du --max-depth=1 -h
以人类可读的方式显示当前目录及其直接子目录的磁盘空间使用情况。它会递归地计算每个目录的大小,并将结果以易读的格式展示。
解释命令中的选项和参数:
sudo
:以超级用户权限运行命令,以便获取对所有文件和目录的访问权限。du
:用于计算目录的磁盘空间使用量。--max-depth=1
:限制命令的递归深度为 1,即只显示当前目录和其直接子目录的统计信息。-h
:以人类可读的方式显示磁盘空间大小,例如使用 GB、MB 等单位代替字节。
在黑框终端里可以,找到谁占的多
以进到var为例:进到var目录查一下
看到log,lib都占很多,保险起见我们拿删log举例子
sudo du --max-depth=1 -h /var/log
一眼看到journal这个占得多
只要你不需要日志进行任何调试,**可以删除** /var/log/journal/* 内的所有内容,但不要删除目录本身。
我们就删这个,释放1个g的空间
删完用 df-h能看到 占用率确实低了,说明释放了空间
总结:就是用df和du还有rm相关的命令结合去做这些事情
扩容
这下有点空间了,就能进到界面里面,开始扩容了
安装分区工具:
sudo apt-get install gparted -y
启动该分区工具:
sudo gparted
然后进行扩容就行。
具体详细操作看这个博客:解决Ubuntu文件系统磁盘空间不足low disk space on filesystem root_程序员洲洲的博客-CSDN博客