私はCentOS Linuxバージョン7.9.2009を使用しており、解決策がわからない電子メール/問題を毎日繰り返し受け取ります。私は1日1回このような電子メールを受け取ります。
The following updates will be applied on myserver.xyz:
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
nodejs-libs x86_64 1:16.14.0-2.el7 epel 14 M
replacing v8.x86_64 1:3.14.5.10-25.el7
Updating:
MariaDB-client x86_64 10.6.7-1.el7.centos mariadb-main 14 M
MariaDB-common x86_64 10.6.7-1.el7.centos mariadb-main 81 k
MariaDB-compat x86_64 10.6.7-1.el7.centos mariadb-main 2.2 M
MariaDB-server x86_64 10.6.7-1.el7.centos mariadb-main 25 M
MariaDB-shared x86_64 10.6.7-1.el7.centos mariadb-main 113 k
galera-4 x86_64 26.4.11-1.el7.centos mariadb-main 9.9 M
java-1.8.0-openjdk-headless
x86_64 1:1.8.0.322.b06-1.el7_9 updates 33 M
jotta-cli x86_64 0.13.55213-2 jotta-cli 10 M
libsmbclient x86_64 4.10.16-18.el7_9 updates 146 k
libwbclient x86_64 4.10.16-18.el7_9 updates 116 k
php x86_64 8.1.3-1.el7.remi remi-php81 1.9 M
php-cli x86_64 8.1.3-1.el7.remi remi-php81 5.9 M
php-common x86_64 8.1.3-1.el7.remi remi-php81 1.2 M
php-gd x86_64 8.1.3-1.el7.remi remi-php81 97 k
php-ldap x86_64 8.1.3-1.el7.remi remi-php81 95 k
php-mysqlnd x86_64 8.1.3-1.el7.remi remi-php81 244 k
php-pdo x86_64 8.1.3-1.el7.remi remi-php81 149 k
php-process x86_64 8.1.3-1.el7.remi remi-php81 98 k
php-sodium x86_64 8.1.3-1.el7.remi remi-php81 93 k
polkit x86_64 0.112-26.el7_9.1 updates 170 k
remi-release noarch 7.9-3.el7.remi remi-safe 23 k
samba x86_64 4.10.16-18.el7_9 updates 720 k
samba-client x86_64 4.10.16-18.el7_9 updates 646 k
samba-client-libs x86_64 4.10.16-18.el7_9 updates 5.0 M
samba-common noarch 4.10.16-18.el7_9 updates 216 k
samba-common-libs x86_64 4.10.16-18.el7_9 updates 182 k
samba-common-tools x86_64 4.10.16-18.el7_9 updates 466 k
samba-libs x86_64 4.10.16-18.el7_9 updates 271 k
v8-devel x86_64 2:9.4.146.24-1.16.14.0.2.el7 epel 9.5 k
Installing for dependencies:
brotli x86_64 1.0.7-5.el7 epel 318 k
brotli-devel x86_64 1.0.7-5.el7 epel 27 k
nodejs x86_64 1:16.14.0-2.el7 epel 206 k
nodejs-devel x86_64 1:16.14.0-2.el7 epel 178 k
openssl11 x86_64 1:1.1.1k-2.el7 epel 692 k
openssl11-libs x86_64 1:1.1.1k-2.el7 epel 1.5 M
Transaction Summary
================================================================================
Install 1 Package (+6 Dependent packages)
Upgrade 29 Packages
Updates failed to install with the following error message:
Could not run transaction.
トランザクションを実行できません。唯一の間違いのようですが、それでもあまりにも多くをあきらめるわけではありません! ?
試してみましたyum clean all
が、翌日にも同じ問題が発生します。
このエラーは、同時に電子メールで表示される他のエラーと関連している可能性があります。
myserver.xyzのAnacronジョブ "cron.daily"
/etc/cron.daily/0yum-daily.cron:
Transaction couldn't start:
file /usr/lib64/libbrotlicommon.so.1 from install of brotli-1.0.7-5.el7.x86_64 conflicts with file from package libbrotli-1.0.9-1.codeit.el7.x86_64
file /usr/lib64/libbrotlidec.so.1 from install of brotli-1.0.7-5.el7.x86_64 conflicts with file from package libbrotli-1.0.9-1.codeit.el7.x86_64
file /usr/lib64/libbrotlienc.so.1 from install of brotli-1.0.7-5.el7.x86_64 conflicts with file from package libbrotli-1.0.9-1.codeit.el7.x86_64
yum repolist
次の出力を提供します。
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.netsite.dk
* epel: mirror.netsite.dk
* extras: mirror.netsite.dk
* remi-php81: mirror.dk.team.blue
* remi-safe: mirror.dk.team.blue
* updates: mirror.netsite.dk
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,060+12
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,733
extras/7/x86_64 CentOS-7 - Extras 500
jotta-cli Jottacloud CLI 24
mariadb MariaDB 88
mariadb-main MariaDB Server 94
mariadb-maxscale MariaDB MaxScale 4
mariadb-tools MariaDB Tools 15
remi-php81 Remi's PHP 8.1 RPM repository for Enterprise Linux 7 - x86_64 285
remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 4,696
updates/7/x86_64 CentOS-7 - Updates 3,413+1
repolist: 32,912
yum list installed | grep brotli
次の出力を提供します。
libbrotli.x86_64 1.0.9-1.codeit.el7 @CodeIT
cat /etc/cron.daily/0yum-daily.cron
次の出力を提供します。
#!/bin/bash
# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
exit 0
fi
# Action!
exec /usr/sbin/yum-cron
私考えるbrotli
(?)リポジトリを使用している可能性がありますが、?にそのリポジトリがリストされていませ@CodeIT
ん。yum repolist
このリポジトリがいつ変更されたかは覚えていませんが、PHPやMariaDBに関連している可能性があります。
これが何であるか、解決策を知っている人はいますか?
### アップデート 1 ###
提示された回答について質問するために更新しました。これが私が実行したときに得られる結果ですyum remove libbrotli-1.0.9-1.codeit.el7.x86_64
。
[root@myserver ~]# yum remove libbrotli-1.0.9-1.codeit.el7.x86_64
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package libbrotli.x86_64 0:1.0.9-1.codeit.el7 will be erased
--> Processing Dependency: libbrotlienc.so.1()(64bit) for package: httpd-2.4.51-1.codeit.el7.x86_64
--> Running transaction check
---> Package httpd.x86_64 0:2.4.51-1.codeit.el7 will be erased
--> Processing Dependency: httpd = 2.4.51-1.codeit.el7 for package: 1:mod_ssl-2.4.51-1.codeit.el7.x86_64
--> Processing Dependency: httpd = 2.4.51-1.codeit.el7 for package: httpd-manual-2.4.51-1.codeit.el7.noarch
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_fcgid-2.3.9-6.el7.x86_64
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: mod_http2-1.15.24-2.codeit.x86_64
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-8.1.2-1.el7.remi.x86_64
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: 1:mod_ssl-2.4.51-1.codeit.el7.x86_64
--> Running transaction check
---> Package httpd-manual.noarch 0:2.4.51-1.codeit.el7 will be erased
---> Package mod_fcgid.x86_64 0:2.3.9-6.el7 will be erased
---> Package mod_http2.x86_64 0:1.15.24-2.codeit will be erased
---> Package mod_ssl.x86_64 1:2.4.51-1.codeit.el7 will be erased
--> Processing Dependency: mod_ssl for package: python2-certbot-apache-1.11.0-1.el7.noarch
---> Package php.x86_64 0:8.1.2-1.el7.remi will be erased
--> Running transaction check
---> Package python2-certbot-apache.noarch 0:1.11.0-1.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================================================================
Removing:
libbrotli x86_64 1.0.9-1.codeit.el7 @CodeIT 768 k
Removing for dependencies:
httpd x86_64 2.4.51-1.codeit.el7 @CodeIT 4.3 M
httpd-manual noarch 2.4.51-1.codeit.el7 @CodeIT 7.2 M
mod_fcgid x86_64 2.3.9-6.el7 @base 228 k
mod_http2 x86_64 1.15.24-2.codeit @CodeIT 535 k
mod_ssl x86_64 1:2.4.51-1.codeit.el7 @CodeIT 254 k
php x86_64 8.1.2-1.el7.remi @remi-php81 5.7 M
python2-certbot-apache noarch 1.11.0-1.el7 @epel 578 k
Transaction Summary
===========================================================================================================================================================================
Remove 1 Package (+7 Dependent packages)
私はhttpd 2.4.51-1
andを削除しませんphp 8.1.2-1
。なぜなら、私はそれらが必要だからです。最新バージョンで最高のバージョンなので、RHELリポジトリに含まれていないとしますか?
それでは、以前のバージョンに戻りたくない限り、この問題を簡単に修正できないと思いますか?
### 私のソリューションで更新 2 ###
これが普遍的な解決策であるかどうかはわかりませんが、問題は解決されました。ストレージ構成エラーがある可能性があります。
まず、アクティブなリポジトリを確認し、yum repolist
リポジトリが失われたことを確認し、CodeIT
このソリューションを使用して再インストールしました。Centos 7に最新のApacheサーバー(httpd)をインストールする方法:
cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el`rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)`.repo
それから私は試してみましたが、驚くyum update
べきことに問題なく動作し更新されました。
その後、私のPHPが更新されていないことを確認して、ここに示すように、そのリポジトリも再インストールしました。CentOS 7にPHP 8.1をインストールする方法:
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php81
それから別のものを作成し、yum update
突然PHPOを最新の8.1バージョンに更新しました:-)
たぶん他の人もこれを使って確認する内容に触発されます。
答え1
パッケージ「brotli-1.0.7-5.el7.x86_64」はEPELリポジトリにあります。https://centos.pkgs.org/7/epel-x86_64/brotli-1.0.7-5.el7.x86_64.rpm.html
yum update
出力によると、この依存関係は "v8-devel"パッケージによってインポートされ、このパッケージは "nodejs-devel"をインポートしてから "brotli-devel"をインポートします。
"libbrotli-1.0.9-1.codeit.el7.x86_64"は、CodeITホスティングリポジトリから取得したものです。https://repo.codeit.guru/packages/centos/7/x86_64/
このリポジトリは、Apache HTTPDやNginxなどの特別なWebサーバービルドを提供しているようです。
両方のパッケージが競合する共有ライブラリ、libbrotlicommon.so.1、libbrotlidec.so.1、libbrotlienc.so.1を提供します。yum
この競合は解決できないため、エラーが発生します。
私が知っている限り、この状況を簡単に解決する方法はありません。 EPELをインストールするには、既存のパッケージを削除する必要があります。もちろん、それに依存するすべてのパッケージも強制的に削除されます。yum remove libbrotli-1.0.9-1.codeit.el7.x86_64
影響を受けるパッケージが表示されます(確認するまで実際にパッケージは削除されません)。