Gojira 哥斯拉Gojira 哥斯拉

哥斯拉爱好者的日常
生活相当无趣 我得找点乐子

内存导致yum的各种奇葩问题

gojira.net

发现有个页面的排行数据很久没更新了,查了一下,原来是python脚本执行错误:ImportError: No module named lxml

直接安装:yum install python-lxml -y

开始的时候还正常执行,并且也找到了安装包,但结果出现错误,(具体错误没记录,有些忘记了),后来还出现了类似这样的错误:

Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Killed


rpmdb: Thread/process 32597/47361617246016 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

----------

failed: Thread died in Berkeley DB library

Freeing read locks for locker 0x5e:

Warning: RPMDB altered outside of yum

后来还导致yum直接没任何反应,只能kill掉,用下面这两个命令搞定。

rm -f /var/lib/rpm/__db.00*

rpm --rebuilddb

搞定。

折腾了半天,后来突然意识到可能是内存不够用了,添加swap试试看:
dd if=/dev/zero of=/root/swapfile bs=4096 count=260720
mkswap /root/swapfile
swapon /root/swapfile
free -m

然后重新 yum install python-lxml -y

很快就安装成功了,测试了下排行榜更新脚本,测试ok。

弄完后在删除swap和swap文件:
swapoff /root/swapfile
/bin/rm -f /root/swapfile

整个事情,报错没头没脑的,按着报错去google都是被引到了错误的方向,浪费了很多时间,原因却很简单,比较坑。经验还是太有用了。

GOJIRA.NET原创文章未经允许不得转载! 当前页面:Gojira 哥斯拉 » 内存导致yum的各种奇葩问题

评论