Linux - Debian Package



 ◆ パッケージの管理 - パッケージファイルとは

 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通り

 ◆ 実行例 : パッケージをアンインストール (設定ファイルは残す)
 # dpkg -r tree


 ◆ 実行例 : パッケージをアンインストール(設定ファイルを含めて完全に削除)
 # dpkg -P tree



Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved