どのrpmsが特定のファイルを提供できるかをリストするコマンドは何ですか:既にインストールされているファイルを提供するrpmまたはインストールされていないファイルを提供できるrpms?
すでにインストールされているファイル/パッケージの場合:
[jb @ smokey〜] $ rpm -qf /etc/sudoers Sudo-1.6.9p13-8.fc9.x86_64
まだインストールされていないファイルとパッケージの場合:
[jb @ smokey〜] $ yumは "/ etc/sudoers"を提供します Sudo-1.6.9p13-8.fc9.x86_64:指定されたユーザーに制限付きのrootアクセスを許可します リポジトリ:updates-newkey 一致元: ファイル名:/ etc/sudoers Sudo-1.6.9p13-4.fc9.x86_64:制限付きのルートアクセスを許可指定されたユーザー リポジトリ:Fedora 一致元: ファイル名:/etc/sudoers Sudo-1.6.9p13-8.fc9.x86_64 :指定したユーザーに制限付きのルートアクセスを許可します リポジトリ:インストール済み 一致元:
「yum whatprovides」はパターンマッチであるため、探しているファイルがディレクトリ構造のどこにあるかわからない場合は、引用符とアスタリスクで囲んでください。
yumは "* foo *"を提供します
同様に、探しているものがバイナリであると確信している場合は、次のことができます。
yumは "* bin/foo"を提供します
まだインストールされていないファイルについては知りませんが、すでにインストールされているファイルについては、rpm -qifを使用できます。
rpm -qif /bin/ls 名前:coreutils再配置:(再配置不可) バージョン:5.97ベンダー:Red Hat、Inc。 リリース:23。 el5ビルド日:2009年7月13日月曜日04:21:27 AM MDT インストール日:金2009年9月11日04:46:01 AM MDTビルドホスト:hs20-bc1-7.build.redhat.com グループ:システム環境/ベースソースRPM:coreutils-5.97-23.el5.src.rpm サイズ:9053874ライセンス:GPLv2 + 署名:DSA/SHA1、2009年7月28日火曜日03 :42:40 AM MDT、キーID 5326810137017186 パッケージャー:Red Hat、Inc. URL: 概要:GNUコアユーティリティ:シェルスクリプトで一般的に使用される一連のツール 説明: これらはGNUコアユーティリティです。このパッケージは、 古いGNU fileutils、sh-utils、およびtextutilsパッケージ。RPMをダウンロードしている場合は、クエリを実行して何がインストールされるかを確認できます。
rpm -qilp ./Server/jzlib-1.0.7-4jpp.1.i386.rpm 警告:./Server/jzlib-1.0.7-4jpp.1.i386.rpm:ヘッダーV3 DSA署名:NOKEY、キーID 37017186 名前:jzlib再配置:(再配置不可) バージョン:1.0.7ベンダー:Red Hat、Inc。 リリース:4jpp。 1ビルド日:2006年8月8日火曜日12:10:03 PM MDT インストール日:(インストールされていません)ビルドホスト:hs20-bc1-6.build.redhat.com グループ:開発/ライブラリ/ JavaソースRPM:jzlib-1.0.7-4jpp.1.src.rpm サイズ:280436ライセンス:BSDスタイル 署名:DSA/SHA1、2007年1月18日木曜日08:49:50 AM MST、キーID 5326810137017186 パッケージャー:Red Hat、Inc. URL: 要約:JZlibのzlibの再実装ピュアJava 説明: zlibは、自由で汎用的な、法的に邪魔されないように設計されています -そのは、特許の対象外です-事実上すべてのコンピューターハードウェアおよびオペレーティングシステムで使用するためのロスレスデータ圧縮 ライブラリ。 zlibは、Jean-loup Gailly(圧縮)およびMark Adlerによって作成されました (解凍) /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.db /usr/lib/gcj/jzlib/jzlib-1.0。 7.jar.so /usr/share/doc/jzlib-1.0.7 /usr/share/doc/jzlib-1.0.7/LICENSE.txt /usr /share/Java/jzlib-1.0.7.jar /usr/share/Java/jzlib.jar
Yumベースのリポジトリでは、yum provides */filename
のようなものを試すことができます
afaik、それは純粋なrpmでは不可能です。 rpmは、これをオプション--whatprovides
でインストールされたパッケージにのみ提供します。
yumを使用できる場合は、yum provides <filename>
を試してリポジトリを検索してください。
Yumを使用したくない(または使用できない)場合(例:オフラインのマシン)、次のようにして、インストールされていないRPMを検索できます。
# rpm -qp --filesbypkg *rpms-to-search-in* | grep *file-to-search-for*
これには時間がかかる場合があるため、たとえばインストールDVDなどの大規模なリポジトリで* .rpmを検索する場合は、しばらくお待ちください。ただし、「-qpl」とは異なり、「-qp --filesbypkg」は、ファイルと、それが属するRPMの両方をリストします。次に例を示します。
# rpm -qpl p*.rpm|grep libpq.so.4
/usr/lib/libpq.so.4
/usr/lib64/libpq.so.4
# rpm -qp --filesbypkg p*.rpm|grep libpq.so.4
postgresql-libs /usr/lib/libpq.so.4
postgresql-libs /usr/lib64/libpq.so.4
その場合、明らかな重複はi386およびx86_64パッケージ( "lib64"文字列から明らか)の存在が原因です。