GNU/Linux >> Linux の 問題 >  >> Linux

インタビューの質問:Linux パッケージ マネージャー (RPM)

この投稿では、Enterprise Linux Common Package Manager (RPM) について最もよく報告されるハウツーの質問について説明します。 rpm はあまり使用されませんが、Linux の面接を受ける際には知っておく必要があります。

RPM とは?

RPM は Red Hat Package Manager の略で、Linux ディストリビューションでのパッケージのインストール、アップグレード、および削除を提供します。フリーソフトウェアツールです。 RPM は、もともと Red Hat Linux 用に Red Hat によって開発されたもので、現在では多くの Linux ディストリビューションで使用されています。バージョン 5 の Suse Linux や IBM の AIX など、他のオペレーティング システムにも移植されています。

RPM の主な種類は?

RPM パッケージには、バイナリ (またはアプリケーション) とソースの 2 つの主なタイプがあります。バイナリ RPM は、特定のアーキテクチャ用にコンパイルされています。他のパッケージのソース コードを提供するソース コード RPM。として:

Binary Package: xpdf-3.00-11.12.i386.rpm
Source code package: xpdf-3.00-11.12.src.rpm

パッケージがインストールされていることを確認する方法

rpm –q」を使用します 」コマンドを使用して、パッケージがインストールされたことをすばやく確認します。確認するには、RPM ファイルの名前ではなく、インストールされたパッケージの名前を使用する必要があります。パッケージ名の一部を使用することもできます。または、コマンド「rpm -qa |grep key-word」を使用することもできます 」を選択すると、より多くのパッケージが表示されます。

rpm パッケージのインストール中に詳細情報を取得する方法

コマンドの構文は

# rpm -Uhv package

これにより、コマンドの実行時に -h オプションで # 記号が出力され、-v オプションで詳細情報が出力されます。パッケージは複数回インストールできます。 rpm コマンドは文句を言いません。ただし、アップグレード操作では、パッケージの他のすべてのバージョンが削除されます。これが、–U アップグレード オプションを使用するもう 1 つの理由です。

カーネルのアップグレード方法

セキュリティの観点から、新しいカーネルは「-i」を使用してインストールする必要があります 「-U」でアップグレードするのではなく、「」フラグ " 国旗。以前のバージョンがまだインストールされているため、新しいカーネルが機能しない場合でも使用できます。例:

# rpm -ivh kernel-2.6.9-78.0.0.0.1.EL4.I686rpm

rpm コマンドの実行時に完了したパーセンテージを表示する方法

基本的な構文は次のとおりです:

# rpm -U --percent package

–パーセント オプションは、rpm コマンドの実行時に完了したパーセンテージを示す 10 進数を出力します。このオプションは、Perl、Python、または Tcl/Tk スクリプトから作成されたグラフィカル ユーザー インターフェイスなど、他のコマンド内に rpm コマンドをラップする場合に最も便利です。

RPM パッケージをインストールする詳細なプロセスは何ですか?

rpm –U コマンドまたは rpm –i コマンドを使用して、パッケージをインストールできます。 rpm コマンドがパッケージをインストールするとき、いくつかのステップを経ます:

  • インストールするパッケージとファイルを確認する
  • プレインストール タスクの実行
  • ファイルを解凍して適切な場所に配置する
  • 後処理タスクの実行
  • RPM データベースの更新

rpm コマンドをテストする方法

–テスト コマンドライン オプションは、rpm コマンドに、インストールまたはアップグレード プロセスをテストするが、ファイルをインストールしないように指示します。例:

# rpm -U --test eruby-devel-0.9.8-2.i386.rpm

複数のパッケージを同時にインストールまたはアップグレードする方法

rpm コマンドラインで各ファイル名をリストするだけです。基本的な構文は次のとおりです:

# rpm -U package1.rpm package2.rpm .. package100.rpm

異なるディレクトリに rpm パッケージをインストールする方法

–プレフィックス そして–移転 オプションは、rpm コマンドがパッケージを新しい場所に再配置するようにする必要があります。ただし、すべてのパッケージが再配置を許可するわけではありません。 –prefix オプションを指定したコマンドの基本的な形式は次のとおりです。

# rpm -U --prefix /new/directory package.rpm

–relocate オプションを使用した場合のコマンド形式は次のとおりです。

# rpm -i --relocate /old/directory=/new/directory package.rpm

–root も使用できます rpm コマンドがシステムのルートまたは / ディレクトリであると想定する別のディレクトリを指定するオプション。これにより、rpm コマンドは、/ の下のシステムの場所ではなく、新しいルートの下にファイルをインストールします。このオプションは、test ディレクトリの下で完全なシステムのインストールをテストする場合に最も役立ちます。コマンドは次の形式を使用する必要があります:

# rpm -U --root /tmp --dbpath /var/lib/rpm package.rpm

rpm パッケージのインストール/削除時にスクリプトをスキップする方法

パッケージのインストールおよび削除の一部として、RPM パッケージには rpm コマンドで実行するスクリプトが含まれている場合があります。これらには、インストール前およびインストール後のスクリプト、およびアンインストール前およびインストール後のスクリプトが含まれます。これらのスクリプトは、ターゲット環境に基づいてアプリケーションを自動的に構成するなどのオプションを実行できます。以下の表は、これらのオプションをまとめたものです。

オプション 使い方
–nopre プレインストール スクリプトをスキップします。
–nopost インストール後のスクリプトをスキップします。
–ノプルン アンインストール前のスクリプトをスキップします。
–nopostun アンインストール後のスクリプトをスキップします。
–noscripts すべてのスクリプトをスキップします。 –nopre、–nopost、–nopreun、–nopostun と同じ。

インストール中に、すべてのトリガーを実行しないように、または特定のトリガーを実行しないように rpm コマンドに指示できます。 –トリガーではない オプションは、すべてのトリガーをスキップするように rpm コマンドに指示します。

オプション 使い方
–notriggerin インストール トリガーをスキップします。
–notriggerrun アンインストールのトリガーをスキップします。
–notriggerpostun アンインストール後のトリガーをスキップします。
–トリガーしない すべてのトリガーをスキップします。 –notriggerin、—notriggerun、—notriggerpostun と同じ。

RPM の無視オプションとは?

rpm コマンドはいくつかの無視オプションをサポートしており、コマンドが通常文句を言うパッケージの一部の側面を無視するようコマンドに指示します。

  • –ignorearch オプションは、パッケージのアーキテクチャーとシステムのアーキテクチャーが一致しない場合でも、パッケージのアーキテクチャーを無視してパッケージをインストールするように rpm コマンドに指示します。これは非常に危険なオプションです。
  • –ignoreos コマンドライン オプションは、オペレーティング システムを無視するように rpm コマンドに指示します。繰り返しますが、これはほとんどの状況で良い考えではありません。
  • –ignoresize オプションは、パッケージをインストールするのに十分なスペースがあることを確認するために、ハードディスクのチェックを無視またはスキップするように rpm コマンドに指示します。 警告 :ハードディスクがほぼ満杯の場合、特にルート (/) パーティションの場合は、–ignoresize オプションを使用しないでください。
  • –ノダイジェスト オプションは、パッケージの正確性を検証するのに役立つ特別な値であるダイジェストのテストをスキップするように rpm コマンドに指示します。
  • -nosignature オプションは、パッケージの正確性の検証にも役立つ、暗号化されたキーであるダイジェストのテストをスキップするように rpm コマンドに指示します。

FTP 経由で rpm パッケージをインストール/更新する方法

一般的な構文は次のとおりです:

# rpm -i ftp://username:[email protected]/pub/rpms/sample_rpm.src.rpm

Http 経由で rpm パッケージをインストール/更新する方法

FTP 経由でファイルにアクセスする場合と同様に、ファイルを識別する URL を rpm コマンドに渡す必要があります。例:

# rpm –i http://ftp.redhat.com/pub/contrib/noarch/SRPMS/Squeak-sources-3-1.src.rpm

複数のパッケージを同時に削除する方法

基本的な構文は次のとおりです:

# rpm -e package1.rpm package2.rpm .. package100.rpm

パッケージのドキュメント ファイルを一覧表示する方法

基本的な構文は次のとおりです:

# rpm –qd package_name

パッケージ内のファイルを一覧表示する方法

基本的な構文は次のとおりです:

# rpm –ql package_name

パッケージ内のスクリプトを一覧表示する方法

基本的な構文は次のとおりです:

# rpm -q --scripts package_name

パッケージの変更点を一覧表示するには?

コマンドの基本的な形式は次のとおりです。

# rpm -q --changelog package_name

最近インストールされたパッケージを一覧表示する方法

基本的な構文は次のとおりです:

# rpm -qa --last

以下のコマンドは、10 行より多いまたは少ない行を表示します。

# rpm -qa --last | head

カスタム クエリの作成方法

クエリ形式の基本的な構文は %{tag_name} です。例:

# rpm -q --qf "%{N}.%{V}--%{R}.%{ARCH}\n" kernel-smp

上記のコマンドは、カスタムとして kernel-smp パッケージの完全な情報を表示します。例:

# rpm -q --qf "%{N}.%{V}--%{R}.%{ARCH}\n" kernel-smp
kernel-smp.2.6.9--67.0.0.0.1.EL.i686

RPM でサポートされているパッケージ情報のタグは何ですか?

パッケージ情報クエリ タグ:

でリリースされました
タグ ホールド
名前 パッケージ名
バージョン バージョン番号
リリース リリース番号
まとめ パッケージ内容の 1 行の要約
説明 パッケージに関する説明文
ビルド時間 パッケージがビルドされた時間
ビルドホスト ホスト パッケージの構築
サイズ ペイロード内のすべての通常ファイルのサイズ
ライセンス ライセンスパッケージは
グループ パッケージのわかりやすいグループまたはカテゴリ名
OS ビルドされたオペレーティング システム パッケージ
ARCH i386 などのアーキテクチャ
SOURCERPM 関連するソース RPM
CHANGELOGTIME 変更ログ時間の配列
CHANGELOGNAME 変更ログ名の配列
CHANGELOGTEXT 変更ログ テキスト エントリの配列
プレイン プリインストール スクリプト
POSTIN インストール後のスクリプト
プレウン プリアンインストール スクリプト
POSTUN アンインストール後のスクリプト
プラットフォーム プラットフォーム

インストールされた RPM パッケージを確認する方法

基本的な構文は次のとおりです:

# rpm -V verify_options package_name

システム全体を確認するには、-a を使用します オプション。

パッケージに必要な機能を判断する方法

基本的な構文は次のとおりです:

# rpm -q query_options --requires packages

特定のパッケージと競合するものを確認する方法

基本的な構文は次のとおりです:

# rpm –q query_options --conflicts packages


Linux
  1. Linuxインタビューの質問トップ25

  2. LinuxでのHomebrewPackageManagerのインストールと使用

  3. Nix –LinuxおよびUnix用の強力なパッケージマネージャー

  1. LinuxRPMパッケージを作成する方法

  2. Linux 面接の究極の質問 :swap

  3. Linux で rpm パッケージの整合性をチェックする方法

  1. お気に入りのLinuxパッケージマネージャーは何ですか?

  2. 新入生のための40のLinuxインタビューの質問パート2

  3. Linux 面接の質問 – Linux 印刷 (CUPS)