◆ パッケージの管理 - パッケージファイルとは
Linuxディストリビューションでは、ソフトウェアをパッケージと呼ばれる単位で配布と管理する仕組み
を提供しています。パッケージとは実行プログラム、設定ファイル、ライブラリ、マニュアルなどを1つ
のファイルにまとめたものです。
パッケージ管理には、代表的なものとして以下の2つの方式があります。
パッケージ方式 |
説明 |
パッケージの拡張子 |
管理ツール |
Debian形式 |
Debian GNU/Linuxなどで採用される方式 |
.deb |
dpkgコマンド |
RPM形式 |
Red Hat Enterprise Linuxなどで採用される方式 |
.rpm |
rpmコマンド |
パッケージ管理によりソフトウェアのインストール、削除、依存関係のチェックの管理が容易になります。
パッケージ管理によって、パッケージのインストール、アンインストール、アップデート作業でどのような
パッケージがどこにインストールされているかを確認したり、パッケージ間の競合を回避したりする仕組み
を提供することができます。このような仕組みをパッケージ管理システムと言い、以下の関係があります。
パッケージの関係 |
説明 |
パッケージの依存関係 |
あるパッケージに含まれるファイルを、別のパッケージが利用している場合の関係。 |
パッケージの競合関係 |
あるパッケージによってインストールされるファイルが、すでに別のパッケージにより
インストールされている場合、すでにインストールされているファイルと競合する場合の関係。 |
◆ パッケージの管理 - APTツール & YUMツール
dpkgやrpmのようなパッケージ管理を行う基本コマンドでは、管理者がある程度手動で依存関係を解決
する必要があり、パッケージファイルを1つ1つ用意する必要がありました。そこで、高度なパッケージ
管理を提供する仕組みであるAPTツール(Debian形式)、YUMツール(RPM形式)を使用してパッケージ
管理ができるようになっています。これらのツールの主な管理機能は以下のとおりです。
・ パッケージのダウンロードサイト(リポジトリ)から最新パッケージのダウンロードやインストールを行う。
・ 各パッケージ間の依存関係を解決しながら、パッケージのインストール、アップグレード、削除等が行える。
パッケージ方式 |
高度な管理ツール |
Debian形式 |
APT ( Advanced Package Tool ) ツール |
RPM形式 |
YUM ( Yellowdog Updater Modified ) ツール |
◆ Debian系 - 基本的なパッケージ管理機能を提供する dpkg ツール
Debian/GNU Linux等のDebian系ディストリビューションでは、パッケージ管理方式にdeb形式が使われます。
deb形式のパッケージファイルの見方は以下。tree は、ディレクトリツリーをカラー表示するパッケージです。
Debian形式のパッケージを扱うためには、dpkgコマンドを使用します。
◆ 構文 : dpkg [ オプション ] アクション パッケージ名
オプション |
説明 |
-E |
同じバージョンがすでにインストールされている場合、インストールは行わない |
-G |
新バージョンがすでにインストールされている場合、インストールはしない |
-R |
ディレクトリ構造を再帰的に処理する |
アクション |
説明 |
-i |
パッケージファイル名を指定して、パッケージをインストール |
-I |
パッケージファイル名を指定して、インストール済みの詳細情報を表示 |
-r |
パッケージ名を指定して、パッケージをアンインストール (設定ファイルは残す) |
-P |
パッケージ名を指定して、パッケージをアンインストール (設定ファイルを含めて完全に削除) |
-l |
インストール済みパッケージを検索して表示 |
-L |
パッケージ名を指定して、パッケージからインストールされたファイルを一覧表示 |
-s |
パッケージ名を指定して、インストール済みのパッケージの詳細情報の表示 |
-S |
指定したファイルが、どのパッケージからインストールされたものかを調査 |
-c |
パッケージファイル名を指定して、パッケージに含まれるファイルの一覧表示 |
-C |
パッケージのインストール状態を検査 |
以下では実際に tree のパッケージをダウンロードしてから、dpkgコマンドでステータスの確認を行います。
先ずインストールするパッケージのダウンロードをwgetコマンドで行います。
◆ パッケージのダウンロードとインストール
# wget https://ftp.nara.wide.ad.jp/debian/pool/main/t/tree/tree_1.6.0-1_i386.deb |
※ 一般的には、Debianのパッケージ管理といえばAPTツールを使用してダウンロード&インストールを行うので wget は不要。
◆ 実行例 : treeパッケージのインストール
# dpkg -i tree_1.6.0-1_i386.deb |
◆ パッケージ情報のステータスの見方( 出力内容は一部省略 )
◆ 実行例 : パッケージファイル名を指定して、インストール済みの詳細情報を表示
# dpkg -I tree_1.6.0-1_i386.deb
new debian package, version 2.0.
size 41958 bytes: control archive=663 bytes.
392 bytes, 12 lines controlaa
433 bytes, 7 lines md5sums
Package: tree
Version: 1.6.0-1
|
◆ 実行例 : インストール済みパッケージを検索して表示
# dpkg -l
ii tree 1.6.0-1 displays directory tree, in color
|
◆ 実行例 : パッケージ名を指定して、パッケージからインストールされたファイルを一覧表示
# dpkg -L tree
/.
/usr
/usr/bin
/usr/bin/tree
|
◆ 実行例 : パッケージ名を指定して、インストール済みのパッケージの詳細情報の表示
# dpkg -s tree
Package: tree
Status: install ok installed
Priority: optional
|
◆ 実行例 : パッケージファイル名を指定して、パッケージに含まれるファイルの一覧表示
# dpkg -c tree_1.6.0-1_i386.deb
drwxr-xr-x root/root 0 2012-02-05 00:13 ./
drwxr-xr-x root/root 0 2012-02-05 00:13 ./usr/
drwxr-xr-x root/root 0 2012-02-05 00:13 ./usr/bin/
-rwxr-xr-x root/root 0 2012-02-05 00:13 ./usr/bin/tree/
|
◆ パッケージのアンインストール方法 - 以下の2通り
◆ 実行例 : パッケージをアンインストール (設定ファイルは残す)
◆ 実行例 : パッケージをアンインストール(設定ファイルを含めて完全に削除)
|