升级软件包时,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