Yum install -y zlib zlib-devel 报错问题及解决问题描述 在使用 yum install -y zlib zlib-devel 命令时,可能会出现以下错误: Transaction check error: file /usr/share/man/man3/zlib.3.gz from install of zlib-1.2.7-18.el
在使用 yum install -y zlib zlib-devel
命令时,可能会出现以下错误:
Transaction check error:
file /usr/share/man/man3/zlib.3.gz from install of zlib-1.2.7-18.el7.x86_64 conflicts with file from package zlib-1.2.7-18.el7_1.2.i686
file /usr/share/man/man3/zlib.3.gz from install of zlib-devel-1.2.7-18.el7.x86_64 conflicts with file from package zlib-devel-1.2.7-18.el7_1.2.i686
原因分析
这个错误的原因是在安装 zlib
和 zlib-devel
包时,系统发现已经安装了旧版本的 zlib
和 zlib-devel
包,与新版本的包发生了冲突。
- 使用
yum update
命令更新所有已安装的包。
$ yum update
这个命令会将所有已安装的包更新到最新版本,包括 zlib
和 zlib-devel
。
- 如果不想更新所有已安装的包,也可以使用
yum reinstall
命令重新安装zlib
和zlib-devel
。
$ yum reinstall zlib zlib-devel
这个命令会删除旧版本的 zlib
和 zlib-devel
,然后重新安装最新版本的包。
假设我们要在 CentOS 7 上安装 PHP,执行以下命令:
$ yum install -y php
这个命令会自动安装 PHP 依赖的一些包,包括 zlib
和 zlib-devel
。如果系统中已经安装了旧版本的 zlib
和 zlib-devel
,就会出现上述错误。
解决办法是执行以下命令:
$ yum update
这个命令会将所有已安装的包更新到最新版本,包括 zlib
和 zlib-devel
,然后再重新执行安装 PHP 的命令。
假设我们在 CentOS 7 上手动安装了 zlib
和 zlib-devel
包,执行以下命令:
$ yum install -y zlib zlib-devel
这个命令会安装最新版本的 zlib
和 zlib-devel
。如果系统中已经安装了旧版本的 zlib
和 zlib-devel
,就会出现上述错误。
解决办法是执行以下命令:
$ yum reinstall zlib zlib-devel
这个命令会删除旧版本的 zlib
和 zlib-devel
,然后重新安装最新版本的包。