私はyum updateを実行しようとしていますが、現在は機能していません...私はなぜなのか途方に暮れています-これは基本的なWebサービスを実行しているだけのかなり一般的な設定です:
[... tons of package updates...]
--> Running transaction check
---> Package libwayland-client.x86_64 0:1.14.0-2.el7 will be installed
---> Package libwayland-server.x86_64 0:1.14.0-2.el7 will be installed
---> Package lz4.x86_64 0:1.7.3-1.el7 will be installed
---> Package systemd-libs.i686 0:219-57.el7 will be an update
--> Processing Dependency: liblz4.so.1 for package: systemd-libs-219-57.el7.i686
--> Finished Dependency Resolution
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-693.5.2.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-693.11.1.el7 will be erased
---> Package systemd-libs.i686 0:219-57.el7 will be an update
--> Processing Dependency: liblz4.so.1 for package: systemd-libs-219-57.el7.i686
--> Finished Dependency Resolution
Error: Package: systemd-libs-219-57.el7.i686 (base)
Requires: liblz4.so.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
yum update --skip-broken
を使用しても機能しません。そしてrpm -Va --nofiles --nodigest
は何もしません。
誰でもこれを修正する方法を知っていますか?この時点でサーバーが停止しないため、サーバーを更新できません。
これらは私が取るだろうステップです:
_yum list installed | grep liblz4
_
インストールされている場合:
_Sudo updatedb
locate liblz4.so.1
you should find a file called liblz4.so.1.7.5 or something like that.
copy that file to /usr/lib64
cd /usr/lib64
ln -s liblz4.so.1.7.5 liblz4.so.1
yum update
_
インストールされていない場合は、次のようにインストールします。
_yum install https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/lz4-1.7.5-2.el7.x86_64.rpm
_
次に、上記の手順を繰り返します。
CPUアーチが64ビットの場合、64ビット用のパッケージをインストールし、ファイルを_/usr/lib64
_に配置することを確認してください。ただし、CPUアーチが32ビットの場合、32ビットパッケージをインストールし、_/usr/lib
_代わりに。
さらに、liblzとsystemd-libsの両方を削除して、もう一度インストールしてから_yum update
_を実行してみます。
#編集
チャットに続いて、次のパッケージをインストールすることをお勧めします。
_lz4-1.7.5-2.el7.i686.rpm
_
私はあなたの_liblz4.so.1
_ Archバージョンといくつかの混同があったと思うので、これまでのところ、更新プロセスが適切に実行されているため、問題は解決しているようです。
同じ問題がありました。また、2つの競合するパッケージがあることに気付きました。
Error: Package: systemd-libs-219-57.el7.i686 (base)
Requires: liblz4.so.1
そのため、yumの出力をもう少し詳しく調べたところ、---> Package systemd-libs.i686 0:219-42.el7_4.4
からアップグレードしようとしていることが更新されることがわかりました
だから私はyum remove systemd-libs.i686
をしました
最後にそれを私のために修正しました。
CentOS 7のインストールでEPELを使用しているようです。 EPELをミラーリングしていますか? lz4パッケージはリポジトリに存在しますか?
https://rpmfind.net/linux/RPM/epel/7/x86_64/Packages/l/lz4-1.7.3-1.el7.x86_64.html を参照してください
私はこの問題に数ヶ月取り組んできましたが、ようやく解決しました。
提案された解決策をすべて試しましたが、役に立ちませんでした。
私の場合、エラーは常に:
Error: Package: systemd-libs-219-57.el7.i686 (base)
Requires: liblz4.so.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest.
最後に、更新の試行中に、手順の最初の部分で警告が出されることに気付きました。
227 packages excluded due to repository priority protections
私の場合、この問題の解決策は/etc/yum/pluginconf.d/priorities.conf
を編集することでした:
「有効= 0」を「有効= 1」に変更してから、yum update
を実行しました。
その後、すべてのパッケージと依存関係が適切にインストールされました。
これが他の人に役立つかどうかはわかりませんが、問題を解決私にとっては。
追加コメント-同じ問題が発生した2台のサーバーでこの手順を試しましたが、両方とも動作しました。
私は実際には同じCentOS 7構成の3台のサーバーを持っています。
3つのサーバーのうち1つだけが問題なく更新のインストールを完了できた理由は、それでも私には謎です。
私のシステムにインストールされているgoogle-chromeパッケージから発生した競合が原因で、この問題が発生しました。そこで、google-chromeを削除して、問題を解消しました。