yum 可以在安装新包之前强制卸载一个过时的包吗?
Can yum be forced to uninstall an obsolete package before installing the new package?
用例是这样的:
我已经安装了 PkgA。
现在我创建了 PkgB,它废弃了 PkgA。
在这种情况下:yum install PkgB 将执行以下操作:
- 安装 PkgB
- 卸载 PkgA
问题是 PkgA 有一个错误,它在卸载时删除了一个文件夹,其中包含 PkgB 安装的文件。我无法更改此文件的位置,因为它们是向后兼容性所必需的。
有没有办法强制 yum 先卸载 PkgA,然后再安装 PkgB?
我正在使用 CentOS Linux 7.2.1511 版(核心版)
Yum 和 RPM 版本:
# yum --version
3.4.3
已安装:rpm-4.11.3-17.el7.x86_64 于 2017 年 6 月 12 日 21:14
已安装:yum-3.4.3-132.el7.centos.0.1.noarch 于 2017 年 6 月 12 日 21:14
已安装:yum-plugin-fastestmirror-1.1.31-34。el7.noarch 于 2017 年 6 月 12 日 21:14
这应该有效。但是我没试过:
yum swap -- remove pkgA -- install pkgB
否则只是
rpm -e --nodeps pkgA && yum install pkgdB
如果有依赖pkgA的东西。否则你可以省略 --nodeps.
用例是这样的:
我已经安装了 PkgA。
现在我创建了 PkgB,它废弃了 PkgA。
在这种情况下:yum install PkgB 将执行以下操作:
- 安装 PkgB
- 卸载 PkgA
问题是 PkgA 有一个错误,它在卸载时删除了一个文件夹,其中包含 PkgB 安装的文件。我无法更改此文件的位置,因为它们是向后兼容性所必需的。
有没有办法强制 yum 先卸载 PkgA,然后再安装 PkgB?
我正在使用 CentOS Linux 7.2.1511 版(核心版)
Yum 和 RPM 版本:
# yum --version
3.4.3
已安装:rpm-4.11.3-17.el7.x86_64 于 2017 年 6 月 12 日 21:14
已安装:yum-3.4.3-132.el7.centos.0.1.noarch 于 2017 年 6 月 12 日 21:14
已安装:yum-plugin-fastestmirror-1.1.31-34。el7.noarch 于 2017 年 6 月 12 日 21:14
这应该有效。但是我没试过:
yum swap -- remove pkgA -- install pkgB
否则只是
rpm -e --nodeps pkgA && yum install pkgdB
如果有依赖pkgA的东西。否则你可以省略 --nodeps.