如何修复 Linux 中的“设备上没有剩余空间”错误如何修复 Linux 中的“设备上没有剩余空间”错误如何修复 Linux 中的“设备上没有剩余空间”错误如何修复 Linux 中的“设备上没有剩余空间”错误
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何修复 Linux 中的“设备上没有剩余空间”错误

如果您是 Lynux 用户,当尝试在系统上保存、创建或安装某些内容时,您可能会遇到“设备上没有空间”错误消息。此错误消息可能会令人沮丧和困惑,尤其是在您不熟悉问题的根本原因的情况下。

在本文中,我们将解释导致 Linux 中“设备上没有空间”错误的原因,并提供有关如何修复该错误的分步说明。

Linux 中出现“设备上没有空间”错误的原因是什么?

当系统磁盘空间不足时,Linux 中会出现“设备上没有剩余空间”错误。发生此错误的原因有多种,其中一些原因是:

  • 磁盘空间不足

  • 大量临时文件积累

  • 文件损坏或损坏

  • 索引节点用完

现在我们了解了“设备上没有剩余空间”错误的原因,让我们深入了解如何修复它。

如何修复 Linux 中的“设备上没有空间”错误?

有多种与存储相关的原因会导致此错误。让我们一一讨论它们以及各自的解决方案。

原因一:删除的文件占用空间

当我们从Linux系统中删除文件时,系统不会自动释放该文件所占用的空间。结果,空间不断被删除的文件填满,导致系统空间不足。

解决方案:释放占用的存储空间

解决这个问题的最好办法就是释放被删除文件占用的存储空间。现在使用以下命令列出所有已删除的进程:

sudo lsof / | grep deleted

识别出已删除的进程后,您可以使用以下命令执行重新加载来释放存储空间:

sudo systemctl daemon-reload

该命令将确保系统释放任何已删除文件的存储空间。

原因 2:临时文件占用空间

随着时间的推移,大量的临时文件会积累起来,消耗磁盘空间。要删除这些临时文件,请按照给定的解决方案进行操作。

解决方案:清理临时文件

打开终端运行:

sudo du -sh /tmp/*

此命令将为我们提供存储在临时目录中的文件的大小。

运行下面提到的命令来删除临时目录中存储的所有文件。

sudo rm -rf /tmp/*

要确认所有文件已被再次删除,请运行以下命令:

sudo du -sh /tmp/*

原因 3:损坏的块

随着时间的推移,未使用的存储块或其他原因可能会导致块损坏,操作系统将不再识别该块。这可能会导致“设备上没有剩余空间”错误。

解决方案:修复损坏的块

要解决此问题,您需要将损坏的块标记为不可用,以便操作系统可以识别它们并修复它们。下面的命令将为我们提供块列表:

lsblk -a

要将损坏的块标记为不可用,以便系统可以识别它们,请使用 fsck 命令检查并修复 Linux 文件系统:

sudo fsck -vcck [DEVICE_NAME]

运行下面的命令来检查设备名称:

sudo fdisk -l

将出现以下有关系统设备的结果,向我们显示设备使用的大小:

或者,您也可以使用以下命令来检查不同分区的当前大小:

sudo df -h

该命令将显示系统中所有分区的磁盘使用情况。确定哪个分区的磁盘空间不足。

键入以下命令并将“/dev/sda2”替换为要检查的分区名称,然后按 Enter:

sudo fsck -vcck /dev/sda2

该命令将检查并修复文件系统。

注意:通过标记损坏的块,您的数据将从这些块中重新分配,并且系统将对这些扇区执行检查。这将用功能正常的块替换所有损坏的块。 fsck 命令无法在正在测试的同一文件系统上执行,因此使用 Live CD 来执行此任务。

原因 4:Inode 数量有限

索引节点是文件系统用来存储有关文件和目录信息的数据结构。每当系统耗尽磁盘空间时,它也会耗尽 inode。

解决方案:增加 Inode 数量

使用命令查找当前 inode 计数:

sudo df -i /

确保可用索引节点 (Ifree) 列不为零非常重要。当所有索引节点用完时,需要从与文件位置(文件系统)关联的基目录中删除一些旧文件以释放空间。

结论

由于系统中仍存储有损坏的块或已删除的文件,Linux 中可能会出现“设备上没有剩余空间”错误。第一个解决方案涉及执行守护程序重新加载,这会释放已删除文件占用的存储空间。第二种解决方案是使用 fsck 命令将损坏的存储块标记为不可用,以便 Linux 操作系统识别它们并修复它们。通过使用这些方法,您可以解决此错误并避免将来出现任何与存储空间相关的问题。

©2015-2025 艾丽卡 support@alaica.com