我目前在使用 yum 通过 sudo 时遇到了一些问题。出于某种原因,它似乎不起作用:
aron@graviton [/var/log]# sudo yum clean all
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
/usr/lib64/python2.4/lib-dynload/datetime.so: failed to map segment from shared object: Cannot allocate memory
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.4.3 (#1, Sep 3 2009, 15:37:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://wiki.linux.duke.edu/YumFaq
然而,奇怪的是,当我sudo -i
首先获得 root 权限时,它可以正常工作。
有什么想法可能导致此问题的原因吗?
答案1
我不明白为什么现在会出现这个问题,但在我看来,问题在于资源限制。你应该运行ulimit -v
(也许ulimit -m
也应该运行)并检查是否强制执行了任何内存限制,因为很可能sudo
(没有-i
)不会清除它们。
答案2
看起来好像是 root 所具有的环境中缺少了某些东西。'sudo su - -c "yum clean all"' 能用吗?
答案3
或许 SELinux 是罪魁祸首。它启用了吗?getenforce
如果你不确定的话,请试一试。
答案4
看来这个问题已经解决了。我通过简单地使用来避开这个问题sudo -i
,但只是尝试使用sudo
与它结合使用yum
,它就起作用了。我不知道是什么解决了它,但我假设软件包更新已经实现了对此问题的修复。
为了参考,以下是我当前的版本:
- Sudo 版本 1.7.2p1
- Yum 版本 3.2.22
- 内核 2.6.18-308.16.1.el5
- CentOS 5.5