如何查看已安装分区下方正在占用的空间?
环境
- 红帽企业Linux(RHEL)所有版本
问题
- 我的分区是这样排列的(示例):
/ (/dev/sda1)
--/var (/dev/sda2)
--/usr (/dev/sda3)
--/backups (/dev/sda4)
- 我的根分区本身(/ dev / sda1)很小,几乎已满。
- 任何目录上都没有任何内容可以解释占用的空间。
- 如何查看消耗的空间在哪里,并通过删除文件释放它?
决议
以下内容只能用于查看正在安装的分区下方正在占用的空间。你会不会能够挂载根文件系统只读的其他位置上,如果已经安装读写/。因此,在执行以下步骤时,请格外小心,并确保将文件系统活动保持在最低水平。否则可能会导致文件系统损坏。
-
创建一个备用目录,在该目录中将挂载根文件系统:
# mkdir /image
-
在该目录上挂载根文件系统:
# mount /dev/sda1 /image
-
在已挂载的文件系统中执行du命令:
# cd /image # du -sh *
-
为确保不会发生数据损坏,请立即在/ image处卸载根文件系统:
# cd / # umount /image
请注意,根据以上示例,/ image / usr,/ image / var和/ image / backups中不应有任何文件。但是,如果存在(因为文件是在未挂载分区时写入的),则du命令的输出将显示根文件系统所有顶级目录的文件大小,而忽略挂载的分区(因为它们是安装在相应的/子项上,而不是/ image上)。基于该输出,您将能够查看是否有任何文件位于安装在其上的分区之下的顶级目录中。获得此信息后,您可以:
- 卸载驻留在有问题的目录上的分区(该分区不应该占用一个空间),然后手动删除文件。
- 如果无法卸载该分区,则必须将系统重新引导至救援模式(在上述指南的第5步中选择“跳过”),手动安装根文件系统,并按照上述步骤删除概述的文件。
根源
由于Linux文件系统结构的工作方式,如果您在目录上挂载了一个分区(例如/ backups),而在未挂载该分区时将文件写入该目录,则该文件占用的空间将占所使用的空间在其父目录(在本例中为/)中,而不是在该目录中将挂载的分区(/ backups)中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
2019-05-20 公司内网,配置代理以后无法使用yum源