sudo yum 在 CentOS 上似乎失败了,但在 sudo -i 之后可以正常工作

sudo yum 在 CentOS 上似乎失败了,但在 sudo -i 之后可以正常工作

我目前在使用 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

相关内容