基于Linux服务器出现“No space left on device”错误的解决简单有效方案

基于Linux服务器出现“No space left on device”错误的解决简单有效方案

一、错误的含义,说明在服务器设备上的存储空间已经满了,不能再上传或者新建文件夹或者文件等。

No space left on device

翻译为

设备上没有剩余空间

二、确认查看服务器系统的磁盘使用情况是否是真的已经没有剩余空间,复制下面命令在服务器上运行,然后发现如果如下图所示那么表明sda3磁盘已经没有剩余空间存储满了。

df -lh

在这里插入图片描述

三、首先回到服务器的根目录root下,再查看根目录root下各文件夹的大小情况。

  • 返回根目录
cd /

在这里插入图片描述

  • 查看根目录root下各文件夹的大小情况,注意:运行下面命令后需要输入用户密码,然后耐心等待存储计算及显示。
sudo du -sh *

在这里插入图片描述

四、上一步完成之后就可以得知根目录下文件夹的大小,再根据自己的需要存储由大到小依次进入对应的文件夹,然后再查看其子文件夹的大小,这样周始循环就能找到文件比较大并且根据自己的需要删除没啥用的文件,释放大量设备空间自然就解决问题了。比如:博主举例根目录下最大的文件夹是home,那么就下一步就直接先进入home文件夹进行操作。

在这里插入图片描述

  • 进入根目录root下的home文件夹
cd /home

在这里插入图片描述

  • 继续查看home文件夹下各文件夹的大小情况,注意:运行下面命令后需要输入用户密码,然后耐心等待存储计算及显示。
sudo du -sh *

在这里插入图片描述

五、继续回到上一步周而复始找到无用且占服务器存储大的文件夹然后删掉,觉得删除的差不多了就可以进行文章下一步。注意:rm 是Linux删除命令,-r 就是向下递归,不管有多少级目录,一并删除,-f 就是直接强行删除,不作任何提示的意思。同时下面删除命令博主都是举例其文件或文件夹绝对路径,其实可以先 cd 转到文件或者文件夹对应路径再使用其相对路径删除也可以;最后但同等重要的是使用这个 rm -rf 的时候一定要格外小心,因为Linux没有回收站,所以一旦强制删除那么就无法还原文件。注意:博主建议用conda clean -a这个命令清理服务器中Anconda文件夹中的pkgs文件。

  • 删除文件夹,比如:rm -rf /home 是删除目录 home 及其下所有文件、文件夹。
rm -rf 目录名字
  • 删除文件,比如:rm -f /home/wgw/.bash_history 是删除 .bash_history 文件。
rm -f 文件名字

六、上一步删完文件之后,再检查一下服务器设备是否真正释放了一些空间,比如:博主删除了一些文件后运行下面命令检查,发现由sda3磁盘原来的100%到97%,说明确实释放了一些空间。

df -lh

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/rothschild666/article/details/127466352