首页 > 其他 > 详细

command not found 与 磁盘空间不足

时间:2017-07-30 12:23:33      阅读:248      评论:0      收藏:0      [点我收藏+]

问题:原正常运行的一服务无法运行,报错command not found,日志显示disk no space;

排查信息:df -hl 

技术分享

根目录所在磁盘空间已满,使用命令在/noah下

解决:通过df -h 目录名,确认处于sda2上的目录,发现大量出core文件,清理,问题解决

后续:还是有个很傻的问题没有清晰,Linux是如何查找文件的,根目录所在磁盘已满是怎样影响到另一个文件系统下的命令的。

推测是由根目录逐层寻找,但细节未确定,总觉得少点什么,整理之。

一 文件系统与磁盘管理

(参考:主机规划与磁盘分区

安装linux系统时就进行了磁盘分区(类似于windows 划分出C/D/E盘),如上所述,出现sda6,无sda1,应该是磁盘划分使用了扩展分区。

技术分享

而不同的目录使用哪个磁盘分区则是通过“挂载” 实现的。所谓的『挂载』就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下; 也就是说,进入该目录就可以读取该分割槽的意思。这个动作我们称为『挂载』,那个进入点的目录我们称为『挂载点』

技术分享

二 文件系统(一个可被挂载的数据为一个文件系统)

参考:文件系统管理

如果/nosh和/ 处于不同磁盘分区,不会直接从不同磁盘分区起始开始读取么?

1. Linux EXT2文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。 另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。

技术分享

构成如下

技术分享

2. 目录树读取

文件名的记录是在目录的 block 当中,因此当我们要读取某个文件时,就务必会经过目录的 inode 与 block ,然后才能够找到那个待读取文件的 inode 号码, 最终才会读到正确的文件的 block 内的数据。根目录所在磁盘会导致所有内容都无法正常运行,找不到对应command.

 

command not found 与 磁盘空间不足

原文:http://www.cnblogs.com/matric/p/7258591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!