web-dev-qa-db-ja.com

rpmlib(FileDigests)<= 4.6.0-1について不平を言うrpmをインストールするにはどうすればよいですか?

CentOS 5にrpmファイルをインストールしようとしていますが、それが引き起こすこの問題を解決する方法がわかりません:

$ rpm --install epel-release-6-5.noarch.rpm
warning: epel-release-6-5.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 0608b895
error: Failed dependencies:
    rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-5.noarch
    rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-5.noarch

Rpmlib(FileDigests)<= 4.6.0-1という行はどういう意味ですか? rpmlibは古いですか、FileDigestsは古いですか?括弧の後に何かの構文があるのはどうですか?

依存関係を自動的に解決できるようにyumを使用しようとしましたが、次のことはできません。

$ Sudo yum --nogpgcheck install epel-release-6-5.noarch.rpm
...
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
rpmlib(FileDigests) is needed by epel-release-6-5.noarch
rpmlib(PayloadIsXz) is needed by epel-release-6-5.noarch
Complete!
(1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum'])

このページ https://bugzilla.redhat.com/show_bug.cgi?id=66507 、彼らは私のrpmが古くなっていると言いますが、私のバージョンで動作するrpmファイルをリクエストする必要があると言いますrpm(4.4.2.3)ですが、それはしたくありません。システムをこのrpmファイルと互換性のあるものにするにはどうすればよいですか?

公開鍵エラーを修正する方法を教えていただければ、ボーナスポイントを獲得できます。

29
Jake

括弧の後に何かの構文があるのはどうですか?

http://jfearn.fedorapeople.org/en-US/RPM/0.1/html/RPM_Guide/ch-advanced-packaging.html から:

PerlやTclなどのスクリプト言語では、アドオンモジュールを使用できます。パッケージには、これらのアドオンモジュールの一部が必要な場合があります。 RPMは、括弧付きの特別な構文を使用して、スクリプトモジュールの依存関係を示します。例:要件:Perl(Carp)> = 3.2これは、バージョン3.2以降の、PerlのCarpアドオンモジュールの要件を示します。

この場合は、rpmライブラリの特定の機能を指します。

エラー:失敗した依存関係:rpmlib(FileDigests)<= 4.6.0-1はepel-release-6-5.noarchで必要ですrpmlib(PayloadIsXz)<= 5.2-1はepel-release-6-5.noarchで必要です

これは、epel-release rpmが設計されていないシステムにインストールしようとしていることを示しています。実際、あなたの質問では、これをCentOS 5にインストールしようとしているのに対して、インストールしようとしているパッケージはCentOS 6(またはRHEL 6)用に設計されています。 CentOS 5の場合、 epel-release-5-4.noarch.rpm が必要です。先に進む前に EPELドキュメント を読むと、この質問や他の質問に答えることができます。

依存関係を自動的に解決できるようにyumを使用しようとしましたが、次のことはできません。

そうです、CentOS 5ではこれらの機能を利用できないためです。yumの観点から、魔法のユニコーンを求めました。何も見つかりません。

公開鍵エラーを修正する方法を教えていただければ、ボーナスポイントが得られます。

EPEL署名鍵をインストールします。 EPELのドキュメントを読むと、そこにあるのは驚くべきことです-公開鍵のインストール手順を含む https://fedoraproject.org/keys へのリンクが表示されます。 Fedoraプロジェクトで使用されます。

31
larsks

EPELリリース5.xが必要です(6.xではありません)。

http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

CentOS 5を実行しています。CentOS6はまだリリースされていません。

7
dmourati

CentOS 5.5で動作する現在のrmpリンクは次のとおりです。

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

依存関係を自動的に処理します。

また、次のように再投稿を熟読すると役立つ場合があります: http://dl.fedoraproject.org/pub/epel/5/i386/ (/ 6/i386 /など)適切な/正しいアドレス。

4
CNSKnight

最高のコマンドは$ yum install epel-releaseとyumは正しいrpmを取得します

以下のコマンドをさらに実行して、公開鍵エラーを修正できます。

$ yum clean all
$ yum makecache
$ yum update
0
Kenny Kaane

centOS8にキーボードロケール入力言語スイッチャーをインストールしようとすると、同様のエラーが発生します

CentOS Linux release 8.1.1911 (Core) 
Derived from Red Hat Enterprise Linux 8.1 (Source)
ID_LIKE="rhel Fedora"
PLATFORM_ID="platform:el8"
4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 GNU/Linux

yum install /home/i/Downloads/xneur-0.20.0-6.fc31.x86_64.rpm

...

Error: transaction check vs depsolve:
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by xneur-0.20.0-6.fc31.x86_64

問題はzstdペイロード(圧縮)にありました https://bugzilla.redhat.com/show_bug.cgi?id=1715799 RHEL8/CentOS8ではまだサポートされていません

https://fedoraproject.org/wiki/Changes/Switch_RPMs_to_zstd_compression

rpm -q rpm-libs rpm
rpm-libs-4.14.2-25.el8.x86_64
rpm-4.14.2-25.el8.x86_64

次に、公式の CentOS Stream Repo からRPMおよびlibsバージョン4.14.2-36をダウンロードしました

ここで zstdサポートが追加されました

  • 2019年10月16日水曜日パヌマチライネン-4.14.2-26
  • Zstdのサポートを再度有効化(#1715799)

注意してシステムを壊すことができますallowerasingオプションでインストール!それを実行してくださいあなた自身のリスク

dnf install --allowerasing python3-rpm-4.14.2-36.el8.x86_64.rpm rpm-4.14.2-36.el8.x86_64.rpm rpm-build-libs-4.14.2-36.el8.x86_64.rpm rpm-libs-4.14.2-36.el8.x86_64.rpm

一部のパッケージが削除されました

Removing dependent packages:
 buildah                           x86_64        1.9.0-5.module_el8.1.0+237+63e26edc             @AppStream           24 M
 container-selinux                 noarch        2:2.107-2.module_el8.1.0+237+63e26edc           @AppStream           40 k
 rpm-build                         x86_64        4.14.2-25.el8                                   @AppStream          314 k
 rpm-plugin-selinux                x86_64        4.14.2-25.el8                                   @anaconda            14 k
 rpm-plugin-systemd-inhibit        x86_64        4.14.2-25.el8                                   @anaconda            14 k
 rpm-sign                          x86_64        4.14.2-25.el8                                   @anaconda            23 k
 selinux-policy                    noarch        3.14.3-20.el8                                   @anaconda            24 k
 selinux-policy-targeted           noarch        3.14.3-20.el8                                   @anaconda            49 M

error: selabel_open: (/etc/selinux/targeted/contexts/files/file_contexts) No such file or directory
error: Plugin selinux: hook psm_pre failed
error: selinux-policy-3.14.3-20.el8.noarch: erase failed

Failed:
  selinux-policy-3.14.3-20.el8.noarch

selinuxの修正方法と影響を受けるものを知らないが、今度はFedora/EPELから新しいRPMをインストールできる

もちろん、FacebookのZstandardアーカイバ(* .zst application/zstd)自体をインストールしました

yum install zstd libzstd