rpm(8) – Linux man page

Name

rpm – RPM Package Manager

Synopsis

パッケージの問い合わせと検証:

rpm {-q|–query} 。

rpm {V|–verify}。

rpm –import PUBKEY …

rpm {-K|–checksig} … PACKAGE_FILE …

パッケージのインストール、アップグレード、および削除:

rpm {-i|–install}. PACKAGE_FILE …

rpm {-U|–upgrade} … PACKAGE_FILE …

rpm {-F|–freshen} … PACKAGE_FILE …

rpm {-e|–erase} …

rpm {e|–erase} … PACKAGE_NAME …

その他:

rpm {–initdb|–rebuilddb}

rpm {–addsign|–resign} 。 PACKAGE_FILE …

rpm {–querytags|–showrc}

rpm {–setperms|–setugids} PACKAGE_NAME …

PACKAGE_FILE …

rpm {–querytags|–showrc}

PACKAGE_NAME …

select-options

{-p,-パッケージ PACKAGE_FILE]

query-options

verify-options

install->

オプション

Description

rpm は強力なパッケージマネージャです。 個々のソフトウェアパッケージのビルド、インストール、クエリー、検証、アップデート、消去に使用することができます。 Apackage は、ファイルのアーカイブと、そのアーカイブファイルをインストールしたり 消去したりするためのメタデータから構成されています。 メタデータには、ヘルパースクリプト、ファイル属性、パッケージの説明情報などが含まれます。 パッケージには、インストールするソフトウェアをカプセル化するために使用されるバイナリパッケージと、バイナリパッケージを作成するために必要なソースコードとレシピを含むソースパッケージの 2 種類があります。

以下の基本モードのいずれかを選択する必要があります。 Query、Verify、Signature Check、Install/Upgrade/Freshen、Uninstall、Initialize Database、Rebuild Database、Resign、Add Signature、Set Owners/Groups、 Show Querytags、および ShowConfiguration。

General Options

These options can be used in all the different modes.

-?、–help 長い使用メッセージを通常より多くプリントします。 –version 使用中の rpm のバージョン番号を含む 1 行を出力します。 –quiet できるだけ少なく表示します – 通常はエラーメッセージのみ表示されます。 -v 詳細な情報を表示します – 通常はルーチンの進行状況メッセージが表示されます。 -vv 醜いデバッグ情報をたくさん表示します。 –rcfile FILELIST コロンで区切られた FILELIST 中の各ファイルは、設定情報を得るために rpm によって順次読み込まれます。 リストの最初のファイルだけが存在する必要があり、チルドは $HOME の値に展開されます。 デフォルトの FILELIST は、/usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:/etc/rpmrc:~/.rpmrc です。 –pipe CMD rpm の出力を CMD コマンドにパイプします。 –dbpath DIRECTORY デフォルトのパス /var/lib/rpm ではなく、DIRECTORY にあるデータベースを使用します –root DIRECTORY すべての操作に DIRECTORY をルートとするファイルシステム ツリーを使用します。 これは DIRECTORY 内のデータベースが依存性チェックに使用され、スクリプトレット (例: パッケージをインストールする場合は %post, ビルドする場合は %prep) が DIRECTORY への chroot(2) の後に実行されることを意味することに注意してください。 -D, –define=’MACRO EXPR’ 値EXPRを持つMACROを定義します。 -E, –eval=’EXPR’ EXPRのマクロ展開を表示します。

インストールとアップグレードのオプション

これらのオプションでは、PACKAGE_FILE は rpm バイナリファイルか ASCII パッケージマニフェスト (PACKAGE SELECTION OPTIONS 参照) で、ftp または http URL として指定することができ、その場合パッケージはインストールされる前にダウンロードされることになります。 rpm の内部 ftp と http クライアントのサポートに関する情報は FTP/HTTP OPTIONS を参照してください。

rpm install コマンドの一般的な形式は

rpm {-i|–install} です。 PACKAGE_FILE …

これは新しいパッケージをインストールします。

rpm upgrade コマンドの一般的な書式は

rpm {-U|–upgrade} となります。 PACKAGE_FILE …

これは、現在インストールされているパッケージを新しいバージョンにアップグレードまたはインストールします。 これは install と同じですが、新しいパッケージがインストールされた後、他のすべてのバージョンのパッケージが削除される点が異なります。 PACKAGE_FILE …

これはパッケージをアップグレードしますが、以前のバージョンがインストールされているもののみです。

–aid 必要に応じて、トランザクションセットに提案パッケージを追加します。 –allfiles パッケージ内のすべての missingok ファイルを、存在するかどうかに関わらず、インストールまたはアップグレードします。 –badreloc –relocateと一緒に使用すると、バイナリパッケージの再配置ヒントに含まれるOLDPATHだけでなく、すべてのファイルパスでの再配置を許可します。 –excludepath OLDPATH OLDPATHで始まる名前を持つファイルをインストールしません。 –excludedocs ドキュメントとしてマークされたファイル(manページとtexinfoドキュメントを含む)をインストールしません。 –force –replacepkgs、–replacefiles、および –oldpackage を使用した場合と同じです。 -パッケージアーカイブが解凍されるときに、50個のハッシュマークを出力します。 v|–verboseと一緒に使用すると、表示がきれいになります。 –このパッケージをインストールする前に、十分なディスク容量があるかどうか、 マウントファイルシステムをチェックしないようにします。 –ignorearch バイナリパッケージとホストのアーキテクチャが一致しない場合でも、 インストールやアップグレードを許可します。 –ignoreos バイナリパッケージとホストのオペレーティングシステムが一致しなくても インストールまたはアップグレードを許可します。 –includedocs ドキュメントファイルをインストールします。 これはデフォルトの動作です。 –justdb ファイルシステムを更新せず、データベースのみを更新します。 –nodigest 読み込み時にパッケージやヘッダーのダイジェストを検証しない。 –nomanifest パッケージ以外のファイルをマニフェストとして処理しません。 –nosignature 読み込み時にパッケージやヘッダーの署名を検証しません。 –nodeps パッケージをインストールまたはアップグレードする前に依存関係のチェックを行いません。 –nosuggest 見つからない依存関係を提供するパッケージを提案しません。 –noorder インストールの際にパッケージの順番を変更しません。 通常、パッケージのリストは、依存関係を満たすために並べ替えられます。 –noscripts –nopre –nopost –nopreun–nopostun 同じ名前のスクリプトレットを実行しないようにします。 noscripts オプションは、

–nopre –nopost –nopreun

nopostun

と同等で、対応する %pre, %post, %preun, %postun スクリプトレットを実行しない。

–notriggers –notriggerin –notriggerun–notriggerpostun 指定した型のトリガースクリプトを実行しないようにする。 NOTRIGGERS オプションは、

–notriggerin –notriggerun –notriggerpostun

と同等で、対応する %triggerin, %triggerun, %triggerpostun スクリプトレットを実行しない。

–oldpackage 新しいパッケージを古いパッケージと交換できるようアップグレードできる。 –percent パッケージアーカイブからファイルが解凍されたときのパーセンテージを表示します。 これは、他のツールから rpm を簡単に実行できるようにするためのものです。 –prefix NEWPATH 移転可能なバイナリパッケージの場合、パッケージの再配置ヒントにある インストールプレフィックスで始まるすべてのファイルパスを NEWPATH に変換します。 –relocate OLDPATH=NEWPATH 再配置可能なバイナリパッケージの場合、パッケージ再配置ヒントの OLDPATH で始まるすべてのファイルパスを NEWPATH に変換します。 このオプションは、パッケージ内のいくつかのOLDPATHが再配置される場合、繰り返し使用することができます。 –すでにインストールされている他のパッケージのファイルを置き換える場合でも、 パッケージをインストールします。 –replacepkgs このシステムにすでにインストールされているパッケージがあってもインストールします。 –テスト パッケージをインストールせず、潜在的な競合をチェックし報告するだけです。

消去オプション

rpm erase コマンドの一般的な形式は

rpm {-e|–erase} です。 PACKAGE_NAME…

以下のオプションも使用できます:

–allmatches PACKAGE_NAME に一致するパッケージの全バージョンを削除します。 通常、PACKAGE_NAME が複数のパッケージにマッチした場合、エラーが発行されます。 –nodeps パッケージをアンインストールする前に依存関係をチェックしない。 –noscripts –nopreun–nopostun 同名のスクリプトレットを実行しない。 パッケージ消去時の –noscripts オプションは、

–nopreun –nopostun

と同等で、対応する %preun, %postun スクリプトレットを実行しない。

–notriggers –notriggerun–notriggerpostun 指定したタイプの trigger スクリプトレットを実行しないようにします。 notriggers オプションは、

–notriggerun –notriggerpostun

と同等で、対応する %triggerun および %triggerpostun スクリプトレットを実行しないようにします。 デバッグのために -vv オプションと一緒に使用すると便利です。

問い合わせオプション

rpm問い合わせコマンドの一般的な形式は

rpm {-q|–query} です。

パッケージ情報を表示する形式を指定することができます。 これには

–qf|–queryformat QUERYFMT

オプションに続いてQUERYFMTフォーマット文字列を使用します。 クエリーフォーマットは、標準的な printf(3) フォーマットの修正版である。 フォーマットは、静的文字列(改行、タブ、その他の特殊文字のための C 標準文字エスケープを含むことができる)と printf(3) 型フォーマットから構成されます。 rpm はすでに表示する型を知っているので、型指定子は省略しなければなりませんが、その代わり、表示するヘッダタグの名前を {} 文字で囲みます。 タグ名は大文字と小文字を区別せず、タグ名の先頭の RPMTAG_ 部分も省略できます。

別の出力形式を要求するには、タグの後に :typetag を付けます。 現在、以下のタイプがサポートされています:

:armor 公開鍵をASCIIの鎧で包む :arraysize 配列タグの要素数を表示 :base64 バイナリデータをbase64でエンコード :date strftime(3) “%c” 形式を使用 :day strftime(3) “%a %b %d %Y” 形式を使用 :depflags 依存性の比較演算子をフォーマットする :deptype 依存性のタイプをフォーマットする :depflags “%c” 形式を使用 :deptype %Y 形式を使用 :depflags “%c” 形式を使用して、バイナリをエンコード :depflags “%c” 形式を使用して、バイナリをエンコード :depflags “%a” 形式を使用 fflags ファイルフラグのフォーマット :fstate ファイル状態のフォーマット :hex 16進数のフォーマット :octal 8進数のフォーマット :perms ファイルパーミッションのフォーマット :pgpsig 署名の指紋と時間を表示 :she スクリプトで使用するためにシングルクォートをエスケープ :triggertype トリガーのサフィックスを表示 :vflags ファイルの検証フラグ :xml 単純なxml マークアップでデータをラップする。

たとえば、問い合わせたパッケージの名前だけを表示する場合、フォーマット文字列として %{NAME} を使用することができます。 rpm は、–querytags 引数で起動されると、知っているすべてのタグのリストを表示します。

問い合わせのためのオプションには、パッケージ選択と情報選択の 2 つのサブセットがあります。 -a, –all インストールされているすべてのパッケージを問い合わせます。 -f, –file FILE FILE を所有するパッケージを照会します。 –ファイルID 指定されたファイル識別子を含むパッケージを問い合わせます。 IDはファイルの内容をダイジェスト化したものです。 パッケージによっては,異なるハッシュ・アルゴリズムが使われている場合があります (MD5, SHA1, SHA256, SHA384, SHA512, …) -g, –group GROUP GROUPのグループを持つパッケージに問い合わせをします. –hdrid SHA1 与えられたヘッダー識別子、つまり不変のヘッダー領域のSHA1ダイジェストを含むパッケージを問い合わせる。 -p, –package PACKAGE_FILE (アンインストールされた)パッケージPACKAGE_FILEを問い合わせます。 PACKAGE_FILE は、ftp または http 形式の URL として指定することができ、その場合、パッケージヘッダーをダウンロードして問い合わせます。 rpm の内部 ftp と http クライアントのサポートに関する情報は FTP/HTTP OPTIONS を参照してください。 PACKAGE_FILE 引数は、バイナリパッケージでない場合、–nomanifestoption が使用されない限り、ASCII パッケージマニフェストとして解釈されます。 マニフェストでは、’#’ で始まるコメントを使用できます。パッケージマニフェストファイルの各行には、URL を含む空白区切りのグローバル表現を含めることができ、これらはクエリに対する追加の PACKAGE_FILE 引数としてパッケージマニフェストの代わりに置換されるパスに展開されます。 –つまり、ヘッダーとペイロードを合わせたコンテンツの MD5 ダイジェストです。 –これはデバッグのためにのみ有用です。 –SPECFILEをパッケージのように解析し、問い合わせを行います。 すべての情報(ファイルリストなど)が利用できるわけではありませんが、このタイプの問い合わせを行うことで、specfileパーサーを記述しなくてもrpmでspecファイルから情報を抽出することができます。 –tid TID 指定された TID トランザクション ID を持つパッケージを検索します。 現在、トランザクション識別子として unix のタイムスタンプが使用されています。 一つのトランザクション内でインストールまたは消去されたすべてのパッケージは、共通の識別子を持ちます。 -triggeredby PACKAGE_NAME PACKAGE_NAME によってトリガーされるパッケージを問い合わせます。 –CAPABILITYケイパビリティを提供するすべてのパッケージを照会します。 –whatrequires CAPABILITY 正常に機能するためにCAPABILITYを必要とするすべてのパッケージを照会します。

パッケージ問い合わせオプション:

–changelog パッケージの変更情報を表示します。 -c, –configfiles 設定ファイルのみをリストアップします (-l を意味します). -d, –docfiles ドキュメントファイルのみをリストアップします (-l を意味します). –dump 以下のようにファイル情報をダンプします (-l が必要):

path size mtime digest mode owner group isconfig isdoc rdev symlink 

–filesbypkg 選択したパッケージに含まれるすべてのファイルをリストアップします。 -i, –info パッケージ名,バージョン,説明などの情報を表示します. これは –queryformat が指定された場合に使用されます。 –last パッケージの一覧をインストール時刻順に並べ、最新のパッケージが先頭になるようにします。 -l, –list パッケージに含まれるファイルを一覧表示します。 –provides このパッケージが提供する機能をリストアップします。 -R, –requires このパッケージが依存する機能をリストアップします。 –scripts インストールとアンインストール処理の一部として使用される、パッケージ固有のスクリプトレットをリストアップします。 -s, –state パッケージ内のファイルの状態を表示します (-l を意味します)。 各ファイルの状態は、normal、not installed、replaced のいずれかになります。 –パッケージに含まれるトリガースクリプトがある場合は、トリガースクリプトを表示します。

ベリファイオプション

rpm verify コマンドの一般的な形式は

rpm {-V|–verify} です。

パッケージの検証は、パッケージにインストールされたファイルに関する情報と、rpmデータベースに格納されたパッケージメタデータから取得したファイルに関する情報とを比較する。 特に、各ファイルのサイズ、ダイジェスト、パーミッション、タイプ、所有者、グループを比較します。 パッケージからインストールされなかったファイル、たとえば、インストール時に “–excludededocs” オプションを使用して除外されたドキュメントファイルは、完全に無視されます。 その他、検証モード特有のオプションは以下の通りです:

–nodeps パッケージの依存関係を検証しません。 –nodigest 読み込み時にパッケージやヘッダのダイジェストを検証しません。 –nofiles パッケージファイルの属性を一切検証しません。 –noscripts %verifyscript スクリプトレットを実行しません (もしあれば)。 –nosignature 読み込み時にパッケージやヘッダーの署名を検証しません。 –nolinkto –nofiledigest (旧 –nomd5) –nosize –nouser –nogroup –nomtime –nomode–nordev 対応するファイル属性を確認しない。

出力の形式は、パッケージヘッダから属性マーカー:

c %config configuration file.d %doc documentation file.g %ghost file (i.e. the file contents are not included in the package payload).l %license license file.r %readme readme file.

の可能な8文字の文字列と、その後にファイル名が続くものです。 8文字のそれぞれは、ファイルの属性とデータベースに記録されている属性の値を比較した結果を表します。 単一の”.”(ピリオド)はテストに合格したことを示し、単一の”?”(クエスチョンマーク)はテストが実行できなかったことを示す(例:ファイルのパーミッションが読み取りを妨げている)。 それ以外の場合、(mnemonically emBoldened) 文字は対応する–verify テストの失敗を表します。

S file Size differsM Mode differs (includes permissions and file type)5 digest (formerly MD5 sum) differsD Device major/minor number mismatchL readlink(2) path mismatchU User ownership differsG Group ownership differsT mTime differsP caPabilities differ

Digital Signature and Digest Verification

rpm デジタル署名コマンドの一般形式は

rpm –import PUBKEY …

rpm {–checksig} …rpm –import MUBKEY …rpm –import MUBKEY …rpm –import MUBKEY … PACKAGE_FILE …

–checksig オプションは、PACKAGE_FILE に含まれるすべてのダイジェストと署名をチェックし、パッケージの整合性と起源を保証します。 署名は現在、パッケージが読み込まれるたびに検証され、-checksig はパッケージに関連するすべてのダイジェストと署名を検証するのに便利です。 ASCII の装甲された公開鍵は、–import を使用して rpm データベースに追加することができます。 Animported の公開鍵はヘッダで運ばれ、キーリングの管理はパッケージ管理と全く同じように行われます。 例えば、現在インポートされているすべての公開鍵は次のようにして表示できます:

rpm -qa gpg-pubkey*

特定の公開鍵をインポートした場合は、問い合わせることで詳細を表示することが可能です。 以下は、Red Hat GPG/DSA キーに関する情報です:

rpm -qi gpg-pubkey-db42a60e

最後に、公開キーはパッケージと同様にインポート後に消去することが可能です。 以下は Red Hat GPG/DSA 鍵を削除する方法です

rpm -e gpg-pubkey-db42a60e

パッケージに署名する

rpm –addsign|–resign PACKAGE_FILE …

–addsign と –resign オプションはどちらも与えられた PACKAGE_FILE それぞれのために新しい署名をして、既存の署名と置き換えて生成し挿入します。

Using Gpg to Sign Packages

GPG を使用してパッケージに署名するためには、rpm が GPG を実行するように設定され、適切な鍵を持つキーリングを見つけることができるようにしなければなりません。 デフォルトでは、rpm はキーホルダーを見つけるために GPG と同じ規約、すなわち $GNUPGHOME 環境変数を使用します。 キーリングが GPG が期待する場所にない場合、使用する GPG キーリングの場所を %_gpg_path マクロで構成する必要があります。

GPG, PGP, および rpm の古いバージョンとの互換性のために、V3 OpenPGP 署名パケットのみを構成する必要があります。 DSA または RSA 検証アルゴリズムのいずれかを使用できますが、DSA が望ましいです。

自分で作成したパッケージに署名できるようにしたい場合、独自の公開鍵と秘密鍵ペアを作成する必要もあります (GPG マニュアルを参照してください)。 また、rpm のマクロも設定する必要があります

%_signature 署名の種類です。 現在は gpg と pgp のみがサポートされています。 %_gpg_name パッケージに署名するために使用する鍵の「ユーザー」の名前です。

例えば、”John Doe <[email protected]>” というユーザで /etc/rpm/.gpg にあるキーリングから /usr/bin/gpg を使ってパッケージに署名するには、

%_signature gpg%_gpg_path /etc/rpm/.gpg%_gpg_name John Doe <[email protected]>%__gpg /usr/bin/gpg

をマクロ設定ファイルに記述します。 システムごとの設定には /etc/rpm/macros を、ユーザーごとの設定には ~/.rpmmacros を使用します。 通常、%_gpg_name を設定するだけで十分です。

データベースの再構築オプション

rpm rebuild database コマンドの一般的な形式は

rpm {–initdb|–rebuilddb} のようになります。

データベースがまだ存在しない場合、新しいデータベースを作成するには –initdb を使用し(既存のデータベースは上書きされません)、インストールされたパッケージのヘッダーからデータベースのインデックスを再構築するには –rebuilddb を使用します。

その他のコマンド

rpm –showrc は rpmrc と macros 設定ファイルに現在設定されている全てのオプションに対して、rpm が使う値を表示します。 rpm –setperms PACKAGE_NAME は与えられたパッケージ内のファイルのパーミッションを設定します。 rpm –setugids PACKAGE_NAME は与えられたパッケージ内のファイルのユーザー/グループ所有権を設定します。

Ftp/Http オプション

rpm は FTP や HTTP クライアントとして動作し、インターネットからパッケージを検索したりインストールしたりすることができます。 インストール、アップグレード、問い合わせのためのパッケージファイルは ftp または http 形式の URL で指定できます:

ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm

:PASSWORD 部分が省略された場合、パスワードが要求されます (ユーザとホスト名の組につき一度)。 ユーザー名とパスワードの両方を省略した場合は、anonymous ftpを使用します。

rpm では、以下のオプションを ftp URL とともに使用することができます:

–ftpproxy HOST ホスト HOST をすべての ftp 転送のプロキシサーバとして使用し、プロキシシステムを使用するファイアウォールマシンを通して ftp ができるようにします。 –ftpport PORT プロキシ ftp サーバでの ftp 接続に使用する TCP PORT 番号で、デフォルトのポートの代わりとなります。 このオプションは、マクロ %_ftpport を構成することによっても指定できます。

rpm では、以下のオプションを http URL とともに使用できます:

–httpproxy HOST ホスト HOST は、すべての http 転送のプロキシサーバとして使用されます。 このオプションはマクロ%_httpproxyを設定することによっても指定可能です。 –httpport PORT デフォルトのポートではなく、プロキシ先のhttp接続に使うTCPのポート番号です。 このオプションはマクロ %_httpport で指定することもできます。

レガシー問題

rpmbuildの実行

rpmのビルドモードが/usr/bin/rpmbuildの実行ファイルに常駐するようになりました。 rpmbuild を含むパッケージ (通常は rpm-build) をインストールし、 rpmbuild(8) ですべての rpm ビルドモードに関するドキュメントを参照してください。

Files

rpmrc Configuration

/usr/lib/rpm/rpmrc/usr/lib/rpm/redhat/rpmrc/etc/rpmrc~/.rpmrc

Macro Configuration

/usr/lib/rpm/macros/usr/lib/rpm/redhat/macros/etc/rpm/macros~/.rpmmacros

Database

/var/lib/rpm/Basenames/var/lib/rpm/Conflictname/var/lib/rpm/Dirnames/var/lib/rpm/Filemd5s/var/lib/rpm/Group/var/lib/rpm/Installtid/var/lib/rpm/Name/var/lib/rpm/Packages/var/lib/rpm/Providename/var/lib/rpm/Provideversion/var/lib/rpm/Pubkeys/var/lib/rpm/Removed/var/lib/rpm/Requirename/var/lib/rpm/Requireversion/var/lib/rpm/Sha1header/var/lib/rpm/Sigmd5/var/lib/rpm/Triggername

Temporary

/var/tmp/rpm*

See Also

popt(3),rpm2cpio(8),rpmbuild(8),

rpm – 。-ヘルプ – rpm は popt エイリアスによってオプションのカスタマイズをサポートしているため、マニュアルに記載されているものと利用できるものが一致していることを保証することは不可能です。

http://www.rpm.org/ <URL:http://www.rpm.org/>

Authors

Marc Ewing <[email protected]>Jeff Johnson <[email protected]>Erik Troan <[email protected]>

Referenced By

applydeltarpm(8),apt(8),apt.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.conf(5),autoupdate(8),cmake28(1),cmake28-gui(1),cmake28modules(1),compat_digest.plug(1),cpack28(1),demo.plug(1),demofiles.plug(1),febootstrap(8),file2pacdep.Debian(1),file2pacdep.Debian(1),file2pacdep.plug(1),nodoc.plug(1),rpm2paco(8),rpm4(3),rpm_selinux(8),rpmcache(8),rpmconf(8),rpmdeps(8),rpmfile(1),rpmpeek(1),rpmreaper(1),rpmrebuild(1),rpmrebuild_plugins(1),set_tag.Rpm2paco(8),rpm2paco(8),rpm_selinux(8),rpmcache(8), rpmconf(8),rpmdeps(8)plug(1),superpaco(8),un_prelink.plug(1),uniq.plug(1),unset_tag.plug(1),yum-versionlock(1)

コメントを残す

メールアドレスが公開されることはありません。