RPMによるパッケージ管理を理解する:実践でも役立つLPICドリル(2)(2/3 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
演習問題
ポイントを押さえたら、演習問題に挑戦してみましょう。問題ごとに、LPIC試験での重要度を記載しています。試験を受ける際の参考にしてください。
問題1
RPMパッケージ管理の基本的な機能について、該当するコマンド/オプションを選んでください。
[試験対策の重要度:(level1)*** (level2)-]
検索 | インストールされているすべてのパッケージの表示 | (設問1) |
---|---|---|
パッケージに含まれているファイルのリスト表示 | (設問2) | |
ファイルを含むパッケージの表示 | (設問3) | |
パッケージ情報の表示 | (設問4) | |
パッケージファイル名の指定 | (設問5) | |
インストール | パッケージのインストール | (設問6) |
依存関係を無視してインストール | (設問7) | |
インストール済みのパッケージに上書きする | (設問8) | |
アップグレード | 現在のバージョンを更新するか、まだインストールされていない場合は新たにインストール | (設問9) |
以前のバージョンが、インストールされている場合にのみパッケージを更新 | (設問10) | |
アンインストール | パッケージのアンインストール | (設問11) |
検査 | インストールされているパッケージの検査 | (設問12) |
a.rpm -e パッケージ名 | b.rpm -V パッケージ名 | c.rpm -U パッケージファイル名 | |
d.rpm -F パッケージファイル名 | e.rpm -qf ファイル名 | f.rpm -qa | |
g.rpm -ql パッケージ名 | h.rpm -qp パッケージファイル名 | i.rpm -qi パッケージ名 | |
j.rpm -i --nodeps パッケージファイル名 | k.rpm -i パッケージファイル名 | l.rpm -i --force パッケージファイル名 |
(設問1)f | (設問2)g | (設問3) e | |
(設問4) i | (設問5) h | (設問6) k | |
(設問7) j | (設問8) l | (設問9) c | |
(設問10) d | (設問11) a | (設問12) b |
RPMの主要な機能である、検索、インストール、アップグレード、アンインストール、検査はそれぞれ次のオプションで行います。
検索(qyuery): -q | インストール(install): -i | アップグレード(upgrade/freshen): -U、-F | |
アンインストール(uninstall/eliminate): -e | 検査(verify): -V |
それぞれの機能について、複数のオプションを同時に指定できます。
rpm -qil パッケージ名
問題2
すでにインストールされているbashコマンドとそのパッケージについて調べる方法についての問題です。
[試験対策の重要度:(level1)*** (level2)-]
(設問1)bashコマンドを含むパッケージについての情報とパッケージに含まれているすべてのファイルを表示したい。どれが正しい手順ですか?(2つ選択)
a.rpm -qilf `which bash`
b.rpm -qf `which bash` | xargs rpm -qil
c.rpm -qiv bash
d.rpm -ql bash
(設問2)設問1の手順によりbashコマンドはbashパッケージに含まれていることが分かりました。このbashパッケージに含まれているbashの設定ファイルをすべて表示する手順はどれですか?(1つ選択)
a.rpm -q --configfiles bash
b.rpm -q --docfiles bash
c.rpm -l --configfiles bash
(設問3)bashパッケージの更新内容や更新頻度を調べるための正しい手順どれですか?(1つ選択)
a.rpm -v --update bash
b.rpm -v --changelog bash
c.rpm -q --update bash
d.rpm -q --changelog bash
(設問4)テンポラリファイルを作成するmktempコマンドを含むmktempパッケージを削除しようとしたところ、次のメッセージが表示されて削除ができませんでした。
# rpm -e mktemp mktemp は (インストール済み)bash-3.2-18.fc8.i386 に必要とされています
この理由と対処方法で正しい説明はどれですか?(2つ選択)
a.mktempパッケージはbashパッケージがないと動作しない
b.bashパッケージはmktempパッケージを利用しているので、もし削除するとbashの機能に不具合が起きる可能性がある
c.もし削除した後、別のmktempパッケージをインストールする、あるいはtarファイルからmktempをインストールするなど、削除してもよい状況であれば--nodepsオプションを追加して実行すれば削除できる
d.mktempパッケージを削除しても、再度bashパッケージをインストールし直せば問題ない
(設問1) a、b
(設問2) a
(設問3) d
(設問4) b、c
(設問1)iオプションとlオプションの指定が必要です。対象は、パッケージ名を指定するか、-fでファイルのパス名を指定します。
(設問2)検索オプション-qに、--configfilesを追加指定します。--configfilesの代わりに-cオプションでも可能です。
(設問3)検索オプション-qに--changelogを追加指定します。
(設問4))rpmがパッケージ間の依存関係をチェックした結果として、すでにインストールされているbashパッケージがmktempパッケージを必要としていることを表したメッセージです。このような場合、デフォルトではmktempパッケージを削除できませんが、依存関係を無視する--nodepsオプションを追加して実行すれば削除できます。
パッケージが必要としているファイルは--requiresオプションで表示できます。
rpm -q --requires bash
Copyright © ITmedia, Inc. All Rights Reserved.