web-dev-qa-db-ja.com

CentOS 7を更新できません-yumの更新が壊れています

私は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は何もしません。

誰でもこれを修正する方法を知っていますか?この時点でサーバーが停止しないため、サーバーを更新できません。

1
S.ov

これらは私が取るだろうステップです:

_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
Itai Ganot

同じ問題がありました。また、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をしました

最後にそれを私のために修正しました。

2

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 を参照してください

1
toppledwagon

私はこの問題に数ヶ月取り組んできましたが、ようやく解決しました。

提案された解決策をすべて試しましたが、役に立ちませんでした。

私の場合、エラーは常に:

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つだけが問題なく更新のインストールを完了できた理由は、それでも私には謎です。

0
DSGent554

私のシステムにインストールされているgoogle-chromeパッケージから発生した競合が原因で、この問題が発生しました。そこで、google-chromeを削除して、問題を解消しました。

0
Meisam