Linux中yum管理工具被误删的解决办法


今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看复制代码

代码如下:


yum remove yum


然后就杯具了...

复制代码

代码如下:


[root@localhost ~]# yum 
-bash: /usr/bin/yum: No such file or directory

这个粗心的手误倒不至于让整个系统瘫痪,yum 却无法使用了。于是,我试着折腾了一番复制代码

代码如下:


rpm -ivh --nodeps <a>http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm</a> 
rpm -ivh --nodeps <a>http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm</a> 
rpm -ivh --nodeps <a>http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm[/code</a>]
关于rpm --nodeps的解释
[code]
--nodeps don't verify package dependencies


接下来,再次尝试输入yum,结果再次出现莫名错误

复制代码

代码如下:


[root@localhost ~]# yum 
There was a problem importing one of the Python modules 
required to run yum. The error leading to this problem was: 

libxml2.so.2: cannot open shared object file: No such file or directory 

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, Nov 11 2010, 13:30:19) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] 

If you cannot solve this problem yourself, please go to 
the yum faq at: 
<a>http://wiki.linux.duke.edu/YumFaq</a> 

因为yum调用的是python,运行 Python,试下是否可行复制代码

代码如下:


[root@localhost~]# python 
Python 2.4.3 (#1, Nov 11 2010, 13:30:19) 
[GCC 4.1.2 20080704 Red Hat 4.1.2-48)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import yum 
Traceback (most recent call last): 
File "<stdin>", line 1, in ? 
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 54, in ? 
import transactioninfo 
File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line 31, in ? 
from sqlitesack import YumAvailablePackageSqlite 
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 26, in ? 
import yumRepo 
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 32, in ? 
import sqlitecachec 
File "/usr/lib64/python2.4/site-packages/sqlitecachec.py", line 19, in ? 
import _sqlitecache 
ImportError: libxml2.so.2: cannot open shared object file: No such file or directory 
>>> 


提示缺少libxml2.so.2,安装一下试试

复制代码

代码如下:


rpm -ivh <a>http://mirrors.163.com/centos/5/os/x86_64/CentOS/libxml2-2.6.26-2.1.2.8.x86_64.rpm[/code</a>]
再次测试运行下yum命令,结果正常了,大喜
[code]
[root@localhost ~]# yum 
Loaded plugins: fastestmirror 
You need to give some command 
usage: yum [options] COMMAND 

List of Commands: 

check-update Check for available package updates 
clean Remove cached data 
deplist List a package's dependencies 
downgrade downgrade a package 
erase Remove a package or packages from your system 
groupinfo Display details about a package group 
groupinstall Install the packages in a group on your system 
grouplist List available package groups 
groupremove Remove the packages in a group from your system 
help Display a helpful usage message 
info Display details about a package or group of packages 
install Install a package or packages on your system 
list List a package or groups of packages 
localinstall Install a local RPM 
makecache Generate the metadata cache 
provides Find what package provides the given value 
reinstall reinstall a package 
repolist Display the configured software repositories 
resolvedep Determine which package provides the given dependency 
search Search package details for the given string 
shell Run an interactive yum shell 
update Update a package or packages on your system 
upgrade Update packages taking obsoletes into account 


options: 
-h, --help show this help message and exit 
-t, --tolerant be tolerant of errors 
-C run entirely from cache, don't update cache 
-c [config file] config file location 
-R [minutes] maximum command wait time 
-d [debug level] debugging output level 
--showduplicates show duplicates, in repos, in list/search commands 
-e [error level] error output level 
-q, --quiet quiet operation 
-v, --verbose verbose operation 
-y answer yes for all questions 
--version show Yum version and exit 
--installroot=[path] set install root 
--enablerepo=[repo] enable one or more repositories (wildcards allowed) 
--disablerepo=[repo] disable one or more repositories (wildcards allowed) 
-x [package], --exclude=[package] 
exclude package(s) by name or glob 
--disableexcludes=[repo] 
disable exclude from main, for a repo or for 
everything 
--obsoletes enable obsoletes processing during updates 
--noplugins disable Yum plugins 
--nogpgcheck disable gpg signature checking 
--disableplugin=[plugin] 
disable plugins by name 
--enableplugin=[plugin] 
enable plugins by name 
--skip-broken skip packages with depsolving problems 
--color=COLOR control whether color is used 

Plugin Options: 

最后,赶紧更新一下系统吧复制代码

代码如下:


yum update


好了 这样yum问题就完全解决了!

Log4j零日安全漏洞是一场安全梦魇

Log4j 零日安全漏洞(也称为 Log4Shell),是互联网上破坏力最惊人的漏洞之一。每家互联网公司都在争先恐后地修补这个问题,防止黑客利用它。但是,公司需要时间来修复这个问题。你无法妥善保护免受 Log4j 攻击安全研究人员看到数以千计的人试图利用Log...
服务器安全log4j黑客安全漏洞

做好这4项防护,保障服务器安全

服务器安全维护,监控占据重要部分,日常的更新、漏洞的修复、故障时的快速警报都能为使用者最大程度减小可能的损失。做好这4项防护,保障服务器安全!一、安全更新许多应用程序与系统供应商会不定期发布最新版本补丁,而这些补丁通常包含以往存在的漏洞的详细信息,如果用户不及...
服务器安全

ELk elasticsearch 部署(3rd)

根据《ELK 产品支持的平台和软件》选定你所要安装的版本。这里将安装elasticsearch最新版本2.0.0。1. jdkelasticsearch只支持Oracle java 和 OpenJDK。在这里不再重复了,参见《ELK 部署指南》详细的不能再详细...
服务器运维ELkelasticsearchjavajdk

SSL为什么不直接用公钥加密数据?

当网站安装SSL证书后,建立连接的过程会发生改变,安全性大幅提高,其原理就是利用非对称加密传输会话密钥,再通过会话密钥加密客户端与服务器之间传输的数据。问题来了,为什么不直接使用公钥加密数据,而是先用公钥加密会话密钥,再通过会话密钥加密数据呢?岂不是画蛇添足,...
服务器安全SSL公钥加密数据