yum 降级并自动包含所有依赖项?

yum 降级并自动包含所有依赖项?

升级软件包时,yum 会自动解析并更新所有依赖项。降级软件包时是否有标志/选项。例如,我安装了 php82,并尝试恢复到 php 74。

sudo yum downgrade php-7.4.33-8.el7.remi.x86_64

返回错误:

Error: Package: php-tidy-8.2.9-2.el7.remi.x86_64 (@remi-php82)

php-tidy也可以添加到降级列表中,但会有几十个这样的依赖项。我是否可以指示 yum 自动将它们全部降级?

答案1

一种方法是降级所有 PHP 包

yum-config-manager --disable 'remi-php*'
yum-config-manager --enable   remi-php74
yum downgrade php\*
yum update

首先,确保存储库配置正确,这样只有预期的 PHP 版本可用。

然后,由于降级命令可能会降级一些不是来自 PHP 堆栈本身的软件包(pecl 扩展、noarch 库),最终更新将带来所有最新版本。

另一种方法,如果没有手动安装 RPM 可能会更好:

yum-config-manager --disable 'remi-php*'
yum-config-manager --enable   remi-php74
yum distro-sync

但请注意,CentOS 7 现在已经非常老了,在不到 1 年的时间内就接近其生命周期的终点,建议更新到较新的版本。

由于模块化,在 EL-8 或 EL-9 上这种降级变得更加容易(切换启用的流将同步此流中的所有包)。

dnf module switch-to php:remi-7.4

相关内容