一次,在安装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
- error: Failed dependencies:
- libxml2.so.2()(64bit) is needed by yum-metadata-parser-1.1.2-3.el5.centos.x86_64
- warning: yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
- error: Failed dependencies:
- 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,结果再次出现莫名错误
- [root@test ~]# 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
- Loaded plugins: fastestmirror
- 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!