![sudo yum 在 CentOS 上似乎失败了,但在 sudo -i 之后可以正常工作](https://linux22.com/image/512362/sudo%20yum%20%E5%9C%A8%20CentOS%20%E4%B8%8A%E4%BC%BC%E4%B9%8E%E5%A4%B1%E8%B4%A5%E4%BA%86%EF%BC%8C%E4%BD%86%E5%9C%A8%20sudo%20-i%20%E4%B9%8B%E5%90%8E%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
我目前在使用 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