我试图按照MigrationGuide中的步骤(修改以反映我正在处理的非当前版本)从RHEL 5.1迁移到CentOS 5.1。 我使用了以下命令:
# rpm -e --nodeps redhat-release-notes redhat-release yum-rhn-plugin redhat-logos # rpm -ivh http://vault.centos.org/5.1/os/x86_64/CentOS/centos-release-5-1.0.el5.centos.1.x86_64.rpm http://vault.centos.org/5.1/os/x86_64/CentOS/centos-release-notes-5.1.0-2.x86_64.rpm # yum update
这在yum update步骤上失败,并声明e2fsprogs与内核之间存在冲突。 我在下面列出了一个更详细的错误。
# yum -d7 upgrade kernel Loading "installonlyn" plugin Running "config" handler for "installonlyn" plugin Yum Version: 3.0.1 COMMAND: yum -d7 Installroot: / Ext Commands: kernel Setting up Upgrade Process Setting up repositories Reading repository metadata in from local files Setting up Package Sacks Reading Local RPMDB Building updates object Resolving Dependencies 1248192166.57 --> Populating transaction set with selected packages. Please wait. Member: kernel.x86_64 0-2.6.18-128.2.1.el5 - u kernel - 2.6.18-128.2.1.el5.x86_64 converted to install Adding Package kernel - 2.6.18-128.2.1.el5.x86_64 in mode i ---> Package kernel.x86_64 0:2.6.18-128.2.1.el5 set to be installed --> Running transaction check # of Deps = 1 Dep Number: 1/1 --> Processing Conflict: kernel conflicts e2fsprogs < 1.37-4 TSINFO: Updating e2fsprogs - 1.39-20.el5.x86_64 to resolve conflict. miss = 0 conf = 0 CheckDeps = 1 --> Restarting Dependency Resolution with new changes. ---> Loop Number: 2 Restarting Loop --> Populating transaction set with selected packages. Please wait. Member: kernel.x86_64 0-2.6.18-128.2.1.el5 - i Member: e2fsprogs.x86_64 0-1.39-20.el5 - u Adding Package e2fsprogs - 1.39-20.el5.x86_64 in mode u ---> Package e2fsprogs.x86_64 0:1.39-20.el5 set to be updated --> Running transaction check # of Deps = 3 Dep Number: 1/3 --> Processing Conflict: kernel conflicts e2fsprogs < 1.37-4 Error: No Package Matching kernel.x86_64
检查e2fsprogs的32位版本(i386,i586,i686)是否存在于系统中,如果不需要,请将其删除。
正如HD所说,在yum的旧版本中有一个已知的bug,如果在一个包中有两个或更多的冲突,yum将会修正第一个,然后在第二个保留(这里是.i?86和.x86_64的冲突。每)。
你可以得到一个testing版的yum for 5.4,或者删除其中的一个arches …或者手动更新e2fsprogs(所以没有冲突)。