Rocky Linux に移行してから、dnf update が失敗

Rocky Linux にバージョンアップしてから、しばらくたって、「dnf update」を実行したら下記のようにエラーになりました

# dnf update
Last metadata expiration check: 0:03:10 ago on Mon 20 Dec 2021 02:06:01 PM JST.
Error: 
 Problem 1: package php-gd-8.0.14-1.el8.remi.x86_64 requires libgd.so.103()(64bit), but none of the providers can be installed
  - cannot install the best update candidate for package php-gd-8.0.12-1.el8.remi.x86_64
  - nothing provides libimagequant.so.0()(64bit) needed by gd3php-2.3.3-4.el8.remi.x86_64
 Problem 2: problem with installed package php-gd-8.0.12-1.el8.remi.x86_64
  - package php-gd-8.0.12-1.el8.remi.x86_64 requires php-common(x86-64) = 8.0.12-1.el8.remi, but none of the providers can be installed
  - package php-gd-8.0.13-1.el8.remi.x86_64 requires php-common(x86-64) = 8.0.13-1.el8.remi, but none of the providers can be installed
  - cannot install both php-common-8.0.14-1.el8.remi.x86_64 and php-common-8.0.12-1.el8.remi.x86_64
  - cannot install both php-common-8.0.14-1.el8.remi.x86_64 and php-common-8.0.13-1.el8.remi.x86_64
  - package php-gd-8.0.14-1.el8.remi.x86_64 requires libgd.so.103()(64bit), but none of the providers can be installed
  - cannot install the best update candidate for package php-common-8.0.12-1.el8.remi.x86_64
  - nothing provides libimagequant.so.0()(64bit) needed by gd3php-2.3.3-4.el8.remi.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable

ログをみると、「php-gd-8.0.14-1.el8.remi.x86_64 requires libgd.so.103()(64bit), but none of the providers can be installed」とphp-gd が原因みたいですので、「php-gd」を一度、削除してみます。

# dnf remove php-gd
Dependencies resolved.
==========================================================================================
 Package         Architecture    Version                     Repository              Size
==========================================================================================
Removing:
 php-gd         x86_64          8.0.12-1.el8.remi           @remi-modular          221 k

Transaction Summary
==========================================================================================
Remove  1 Package

Freed space: 221 k
Is this ok [y/N]: y

「php-gd」を削除してから「dnf update」をおこなうと、問題なく実行できました

# dnf update

dnf update が実行できたので、先程削除した「php-gd」を再インストールします。
この「php-gd」は、remi, epel レポジトリを利用して「PHP 8」にアップグレードしていますので、「remi, epel」を有効にしてインストールします

# dnf install --enablerepo=epel,remi php-gd

dnf update で失敗する場合、インストールできないパッケージを削除してから、dnf updateを実行して、その後に原因だったパッケージを再インストールすれば良いかと思います。

LinuxCentOS 8,RockyLinux

Posted by admin