一次,在安裝php程式時,發現有一個插件libxml2未安裝,我就随手敲了一個指令,看都沒看
yum remove -y libxml2
哪知,系統中原本就安裝了這個libxml2,結果就杯具了
[root@test ~]# yum
-bash: /usr/bin/yum: No such file or directory
這個粗心的手誤倒不至于讓整個系統癱瘓,yum 卻無法使用了。于是,我試着折騰了一番
1)首先安裝這幾個東東
rpm -ivh http://mirrors.163.com/centos/5.5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm
rpm -ivh http://mirrors.163.com/centos/5.5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
rpm -ivh http://mirrors.163.com/centos/5.5/os/x86_64/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm
不過,直接這樣安裝是不行的,會提示
warning: yum-3.2.22-26.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: Failed dependencies:
yum-fastestmirror is needed by yum-3.2.22-26.el5.centos.noarch
yum-metadata-parser >= 1.1.0 is needed by yum-3.2.22-26.el5.centos.noarch
warning: yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
libxml2.so.2()(64bit) is needed by yum-metadata-parser-1.1.2-3.el5.centos.x86_64
在其後加入參數 --nodeps後,安裝正常
關于rpm --nodeps的解釋
--nodeps don't verify package dependencies
接下來,再次嘗試輸入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:
http://wiki.linux.duke.edu/YumFaq
2)因為yum調用的是python,運作 Python,試下是否可行
[root@test ~]# 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 http://mirrors.163.com/centos/5.5/os/x86_64/CentOS/libxml2-2.6.26-2.1.2.8.x86_64.rpm
再次測試運作下yum指令,結果正常了,大喜
[root@test ~]# 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:
3)最後,趕緊更新一下系統吧
[root@test ~]# yum update
Loading mirror speeds from cached hostfile
Setting up Update Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package libxml2.x86_64 0:2.6.26-2.1.2.8.el5_5.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================================================
Package Arch Version Repository Size
Updating:
libxml2 x86_64 2.6.26-2.1.2.8.el5_5.1 update 807 k
Transaction Summary
Install 0 Package(s)
Upgrade 1 Package(s)
Total download size: 807 k
Is this ok [y/N]: y
Downloading Packages:
libxml2-2.6.26-2.1.2.8.el5_5.1.x86_64.rpm | 807 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : libxml2 1/2
Cleanup : libxml2 2/2
Updated:
libxml2.x86_64 0:2.6.26-2.1.2.8.el5_5.1
Complete!
本文轉自dongfang_09859 51CTO部落格,原文連結:http://blog.51cto.com/hellosa/503672,如需轉載請自行聯系原作者