Linux のパッケージシステムについて

Linux のパッケージシステムについて
パッケージファイル名は以下の形式で命名されている
パッケージ名-バージョン-リリース番号-アーキテクチャ.rpm
例えば
httpd-2.2.15-28.el6.centos.x86_64.rpm
なら
パッケージ名
httpd
バージョン
2.2.15
リリース番号
28
アーキテクチャ
el6.centos.x86_64
となる
パッケージのバージョン管理は
バージョンとリリース番号を組み合わせたファイル名で実施している
バージョン番号が同じ場合
リリース番号の大きいほうが新しいものとして
更新対象になる
バージョンアップして
パッケージのバージョンが更新されると
リリース番号が更新される
yum check-update
を実行すれば
現在インストールされているバージョンと
リポジトリの最新バージョンと比較することで
アップデート候補を表示することができる
また、コマンドを使うことで
インストールされているパッケージの一覧表示ができる
rpm なら
rpm -qa
というように
-qa オプションをつけることで表示できるけど
一覧表示だけでは履歴がわからない
こんなときには
–last オプションをつけることで
最後に導入されたパッケージから順番に表示できる
rpm -qa –last
とすればOK
ただし、あまりにも長いと見にくいので
最後のほうから調べたいのなら
head コマンド
を使い上位10件だけ表示するとか
grep で絞り込みをかけることで、
より効率的に探すことができる
head と組み合わせるなら
rpm -qa –last | head
これで、最後から10件表示となる
この使い道は、あるときからトラブル発生した場合
パッケージのバージョンアップが原因であるか調べるのに使える
これには、ログをみるスキルと併用すると効率的に
調べることができる
yum などで一気にインストールすると依存関係も楽だけど
管理者が意図しないパッケージも導入されることが多い
インストール済みパッケージの情報を調べることができるなら
意捨て無の状態を確認できる
パッケージ情報を調べるために使える rpm コマンドの
主なオプションとしては
rpm -qi パッケージ名
パッケージ情報を表示
rpm -ql パッケージ名
パッケージに含まれるファイルを表示
rpm -qc パッケージ名
パッケージに含まれる設定ファイルを表示
rpm -qd パッケージ名
パッケージに含まれるドキュメントファイルを表示

rpm のダウングレード

RPM パッケージで、依存性の欠如により
古いパッケージが必要になることがあります
これは、ソースからのインストールを行うときによくあることです
そんなときには、
–oldpackageオプションを使用します
使い方については
rpmコマンドでパッケージをダウングレードするには
が参考になります
とはいったものの、まずは古いRPMパッケージを入手しないといけません
(yum コマンドの場合なら、ネットから簡単に取得できますが)
この場合、まずは必要なパッケージがなにかを調べるため
rpm -qa | grep パッケージ名
として、現在入っているパッケージを調べ
次に、必要なパッケージを googleで検索し
ダウンロードします