Entries Tagged as 'problem'

rpm出错:Program version 4.3 doesn’t match environment version

一台linux机器
输入命令
rpm -qa
的时候
系统报错:

rpmdb: Program version 4.3 doesn’t match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm

解决方法:

cd /var/lib/rpm
rm -rf __*
rpm –rebuilddb

fc5升级到fc6的时候的错误

当yum update rpm yum成功后
再运行yum upgrade的时候报错:

/usr/lib/python2.4/site-packages/rpm/_rpmmodule.so: undefined symbol: rpmdbCheckTerminate

后来发现是因为rpm-libs包没有升级的原因
于是从安装服务器上抓来正确的rpm-libs包装上了事
rpm -Uvh http://192.168.1.1/pub/os/Linux/Fedora/i386/6/RPMS.updates/rpm-libs-4.4.2.1-2.fc6.i386.rpm
# 192.168.1.1是安装服务器ip

php连mysql的诡异问题:“MySQL server has gone away”

今天写了个小程序
用来监测某些机器上的某些进程是否存在
需要从mysql中查出ip和进程字串
然后从中控上一台一台ssh上去ps查进程是否存在
如果状态变化(原来标记不存在的现在有了,或是原来标记存在的现在没有了)
还需要更新mysql库中的相应状态字段
因为查询出来的数据比较多(600多条)
而且我还要一台一台ssh上机器检测进程
等我发现某台机器的某个进程状态改变要update库的时候
数据库报错:

MySQL server has gone away

查了好些资料
也没找出原因来
最后按照文档上建议的
先判断
然后再执行mysql_query

function connect(){
$db = mysql_connect(’xxx.xxx.xxx.xxx’, ‘xxx’, ‘xxxxxx’);
mysql_select_db(’db1′);
return $db;
}
if (!$db){
mysql_close($db);
$db = connect();
}elseif(!mysql_ping($db)){
mysql_close($db);
$db = connect();
}
mysql_query(”$sql”);

不管怎么样
这个问题算是解决了
不过说实话:为什么我还是没搞明白
:)

目录权限导致sendmail不能发信的问题

发现一台测试机器的sendmail不能发信了
翻开/var/log/maillog一看
发现大段的error信息:

NOQUEUE: SYSERR(root): /etc/mail/submit.cf: line 546: fileclass: cannot open ‘/etc/mail/trusted-users’: World writable directory

查了下资料
发现应该是目录权限过宽的原因(一般是777)

但是据查
/etc/mail/trusted-users文件的权限是644
/etc/mail/目录的权限是755
貌似都没有问题呀
在仔细看看资料
原来
sendmail要检查”/”、”/etc/”、”/etc/mail/”这三个目录的权限
不仅仅是目录”/etc/mail/”
我再一查
果然
“/”的权限让某人给改成了777
//faint
然后我
chmod 755 /
然后就好了