为什么 rpm 失败,但 yum 可以运行相同的下载的 rpm

为什么 rpm 失败,但 yum 可以运行相同的下载的 rpm

为了离线安装 libpcap-devel,我使用yum install -y --downloadonly --downloaddir=. libpcap-devel并获得了 2 个 rpm:libpcap-1.5.3-12.el7.x86_64.rpm libpcap-devel-1.5.3-12.el7.x86_64.rpm

然后我用了rpm -ivh libpcap-1.5.3-12.el7.x86_64.rpm,它说

正在准备... #################################### [100%] libpcap-14:1.5.3-12.el7.x86_64 安装中的文件 /usr/lib64/libpcap.so.1.5.3 与软件包 libpcap-14:1.5.3-11.el7.x86_64 中的文件冲突

我猜这意味着 libpcap.so.1.5.3 已经安装在 /usr/lib64 上了,而且它是 1.5.3-11.el7.x86_64

然后我用rpm -ivh libpcap-devel-1.5.3-12.el7.x86_64.rpm它说:

错误:依赖项失败:libpcap-devel-14:1.5.3-12.el7.x86_64 需要 libpcap = 14:1.5.3-12.el7

然后我使用 yum localinstall libpcap-devel-1.5.3-12.el7.x86_64.rpm,成功了。我的问题是,为什么同样是 libpcap-devel-12 rpm,rpm 命令要求 libpcap = 14:1.5.3-12.el7,而 yum 命令接受的 libpcap.so 是 14:1.5.3-11.el7

答案1

rpm -i代表形式rpm --install,用于安装新包。

当您package-1.0安装并尝试时rpm -i package-1.1.rpm。它会失败。总是会失败。因为现有的包。您几乎总是想使用-U这意味着install or upgrade

Yum 命令install将自动尝试降级或升级到特定版本。localinstall只是别名install- 如果参数是一个文件,它将使用本地文件。

相关内容