云网牛站
所在位置:首页 > Linux教程 > openEuler系统安装软件包时出现文件冲突或缺少软件包的解决

openEuler系统安装软件包时出现文件冲突或缺少软件包的解决

2020-03-31 15:37:50作者:openeuler人稿源:openeuler站

如果在给openEuler操作系统安装软件包时出现软件包冲突、文件冲突或缺少软件包导致安装失败的问题,按照以下方法处理就能解决问题。

 

问题现象

如果已安装上openEuler系统(参考:openEuler安装方式介绍:通过光盘、USB盘、使用PXE通过网络安装等),并在安装软件包过程中,可能会出现软件包冲突、文件冲突或缺少软件包,从而导致升安装被中断,最终安装失败。软件包冲突、文件冲突和缺少软件包的报错信息分别如下图所示。

软件包冲突报错信息示例(以 libev-libevent-devel-4.24-11.oe1.aarch64与libevent-devel-2.1.11-2.oe1.aarch64冲突为例):

openEuler系统安装软件包时出现文件冲突或缺少软件包的解决

文件冲突报错信息示例(以/usr/bin/containerd文件冲突为例):

openEuler系统安装软件包时出现文件冲突或缺少软件包的解决

缺少软件包的报错信息示例(以缺失blivet-data软件包为例):

openEuler系统安装软件包时出现文件冲突或缺少软件包的解决

 

问题原因

1、openEuler系统提供的软件包中,有些软件包虽然名称不同,但功能相同,导致两个软件包无法同时安装。

2、openEuler系统提供的软件包中,有些软件包虽然名称不同,但功能相同,导致安装时安装后的文件相同,从而产生了文件冲突。

3、有些软件包,因在升级安装前被其他软件包所依赖,一旦该软件包升级后,可能导致依赖它的软件包因缺少软件包而不能安装。

 

解决方法

若为软件包冲突,则按如下步骤进行处理(以问题现象中示例的软件包冲突为例):

1、根据安装过程中的软件包冲突报错信息,确定与待安装的 libev-libevent-devel-4.24-11.oe1.aarch64软件包冲突的软件包为libevent-devel-2.1.11-2.oe1.aarch64。

2、执行dnf remove命令将与待安装软件包冲突的软件包单独卸载:

# dnf remove libevent-devel-2.1.11-2.oe1.aarch64

3、重新进行安装操作。

若为文件冲突,则按如下步骤进行处理(以问题现象中示例的文件冲突为例):

1、根据安装过程中的文件冲突报错信息,确定导致文件冲突的软件包名称为containerd-1.2.0-101.oe1.aarch64和docker-engine-18.09.0-100.aarch64。

2、将不需要安装的软件包名称记录下来,以不需要安装docker-engine-18.09.0-100.aarch64为例。

3、执行dnf remove命令将不需要安装的软件包单独卸载:

# dnf remove docker-engine-18.09.0-100.aarch64

4、重新进行安装操作。

若为缺少软件包,则按如下步骤进行处理(以问题现象中示例的缺少软件包为例):

1、根据升级安装过程中的缺少软件包报错信息,确定待升级的软件包名称blivet-data-1:3.1.1-5.noarch及依赖它的软件包名称python2-blivet-1:3.1.1-5.noarch。

2、执行dnf remove命令将依赖待升级包才能安装的软件包单独卸载或在升级软件包时加上–allowerasing参数。

执行dnf remove命令将依赖blivet-data-1:3.1.1-5.noarch软件包才能安装的软件包单独卸载:

# dnf remove python2-blivet-1:3.1.1-5.noarch

升级软件包时加上–allowerasing参数:

# yum update blivet-data-1:3.1.1-5.noarch -y --allowerasing

3、重新进行升级操作。

 

相关主题

openEuler操作系统关键特性、已知问题及已修复问题介绍

精选文章
热门文章