web-dev-qa-db-ja.com

RPMパッケージをインストールして依存関係を解決する

RHEL6を使用しています

こんにちは、yumリポジトリを作成しました。rpmをインストールしようとしたときに、snort rpmパッケージをWebサイトからダウンロードしました。

snort-2.9.5.3-1.f18.i386.rpm

1:snort-2.9.5.3-1.i386 requires libsfbpf.so.0
1:snort-2.9.5.3-1.i386 requires libdnet.so.1
1:snort-2.9.5.3-1.i386 requires libpcre.so.1

1)インターネット上でこれらのファイルを探しましたが、見つかりませんでした

2)yumを使用してsnortをインストールするにはどうすればよいですかyum install \Desktop\snort-2.9.5*依存関係に失敗したというエラーがスローされました

エラー:

Resolving Dependencies
--> Running transaction check
---> Package snort.i386 1:2.9.5.3-1 set to be updated
--> Processing Dependency: libdnet.so.1 for package: 1:snort-2.9.5.3-1.i386
--> Processing Dependency: libpcre.so.1 for package: 1:snort-2.9.5.3-1.i386
--> Processing Dependency: libsfbpf.so.0 for package: 1:snort-2.9.5.3-1.i386
--> Finished Dependency Resolution
Error: Package: 1:snort-2.9.5.3-1.i386 (/snort-2.9.5.3-1.f18.i386)
           Requires: libsfbpf.so.0
Error: Package: 1:snort-2.9.5.3-1.i386 (/snort-2.9.5.3-1.f18.i386)
           Requires: libdnet.so.1
Error: Package: 1:snort-2.9.5.3-1.i386 (/snort-2.9.5.3-1.f18.i386)
           Requires: libpcre.so.1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Snortをインストールするにはどうすればいいですか、fwbuilderをインストールしようとしても失敗しました

3
thegreatone

特定のファイルが含まれているレポパッケージを見つける必要がある場合は、(たとえば)試すことができます。

yum provides "*/libdnet.so.1"

これはシェルグロビングを使用するため、「* /」は、yumが絶対パス名を検索するという事実をカバーします。 それは必要です。インストールされたパッケージだけでなく、リポジトリを検索することに注意してください。上記の例でF17を使用すると、次のようになります。

libdnet-1.12-8.fc17.i686 : Simple portable interface to lowlevel networking routines
Repo        : Fedora
Matched from:
Filename    : /usr/lib/libdnet.so.1



libdnet-1.12-8.fc17.x86_64 : Simple portable interface to lowlevel networking routines
Repo        : Fedora
Matched from:
Filename    : /usr/lib64/libdnet.so.1

これはかなり単純ですが、これはファイル名検索であるため、多くのヒットを取得し、実際に何を探しているのかをよく考えて推測する必要があります。

yum providesは、いくつかの.rpmフィールドヘッダーと照合するため、実際に特定のファイルを検索する必要はありません(ただし、シェルグロブ構文は常に適用されます。Provides:フィールドには、多くのものが含まれています)。たとえば、単なるyum provides libdnetはここで動作します-もちろん、より一般的で簡単なものです:

yum search libdnet
2
goldilocks