LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 864|回复: 3

这是Debian的BUG吗?还是我的系统有问题?请高手们帮忙判断一下

[复制链接]
发表于 2005-11-10 17:12:15 | 显示全部楼层 |阅读模式
今天升级系统,重启后USB鼠标不工作了。
仔细看重启过程发现一些错误信息,大概如下:
udev需要tmpfs,系统没有tmpfs,udev没有启动。
udev不启动,USB鼠标不能用就不奇怪了。但是为什么udev没有启动呢?错误信息中还有一些信息:
grep装载共享库libpcre.so.3出错:没有这个文件或者目录!
查看udev的脚本,发现它是通过grep查找/proc/filesystems文件来确定有没有tmpfs支持的。我用的内核是2.6.14,不管任何情况都是支持tmpfs的,但是udev用grep的时候grep出错了!udev以为内核不支持tmpfs,所以没有启动udev。
我的系统昨天还是很正常的,难道文件系统损坏了?赶紧检查,结果一切正常!
难道libpcre3软件包损坏了?重装该软件包,结果还是不行!
怎么会找不到libpcre.so.3文件呢?一看/usr/lib/libpcre.so.3在,是一个链接,目标是/usr/lib/libpcre.so.3.12.0也在。奇怪了,使用一下grep,一切正常啊!
再使用/etc/init.d/udev restart,没有出错,拔掉鼠标再接上,USB可用了!但是/dev目录还是不正常,文件很多。我总不成每次开机就restart一次,拔插一次鼠标吧。
系统启动时说找不到libpcre.so.3,是什么原因呢?是不是/usr目录还没有被安装进系统呢?
把/usr/lib/libpcre.so.*复制到/lib目录下,重启系统,一切正常了!
现在总算比较清楚了:
udev启动时要判断tmpfs是否被支持,判断过程中使用了grep
grep依赖于libpcre3软件包,但是libpcre3的文件却被安装在/usr/lib目录下
问题是我的系统中/usr是单独的一个分区!udev启动时,/usr区还没有被mount进来!
于是grep找不到libpcre.so.3就返回一个错误,udev得知grep没有找到tmpfs,udev就认为系统不tmpfs,结果就不能启动。
为什么以前却正常呢?除非是升级后udev使用了grep,以前的udev没有,但是除了udev,还有其他的脚本也使用了grep或egrep;或者升级后libpcre3的文件从/lib变成了/usr/lib,导致启动时找不到;或者我想不到的其他原因。
在Debian网站关于udev的BUG报告中,好象没有这个情况。(我的英文居然达到44分)
想请教各位,以上的过程及分析正确吗?是BUG吗?还是我的系统出了什么问题?

对了,系统是Sid的,内核自编的2.6.14及官方的2.6.14,udev版本是0.0.74-2,grep版本是2.5.1.ds2-3,libpcre3的版本是6.4-1.0.1。
发表于 2005-11-10 18:24:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2005-11-10 19:56:34 | 显示全部楼层
为什么要用sid,是学习吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-10 21:32:47 | 显示全部楼层
Post by 高原之狼
分析的对。

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338413

谢谢你的答案!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表