LPIC-1 - 101試験 - 102:Linuxのインストールとパッケージ管理 - 102.4 Debianパッケージ管理を使用する

Last Update : September 18 2014 21:34:22

     

a. Debianパッケージ管理

1.パッケージ管理とは

パッケージとは、ソフトウエアのプログラム本体やライブラリ、マニュアル、設定情報などをまとめた1つのファイルです。Linux OSでは、ソフトウエアをパッケージ単位で管理することが多く、このシステムを「パッケージ管理システム」と呼びます。

パッケージの依存関係

パッケージが別のパッケージなしでは動かない場合、このような関係をパッケージの依存関係と呼びます。

パッケージの競合関係

パッケージが別のパッケージと依存関係がある場合で、また、別のパッケージもその同じパッケージと依存関係がある場合、このような関係をパッケージの競合関係と呼びます。

リポジトリ 】(repository)

ファイルやデータを蓄積している場所や、それらの情報を管理するデータベースのことを意味します。


2.dpkgコマンドを用いたパッケージ管理

Debianパッケージの管理ツールとして、 dpkg コマンドがあります。
dpkgコマンドは、Debianパッケージのインストールや削除などのパッケージ管理を行います。
パッケージ情報は/var/lib/dpkg/に保存されています。
Debianパッケージのパッケージファイル名は、
  パッケージ名_バージョン-リリース番号_アーキテクチャ.拡張子
となります
例えば、
packag_2.1.1-10_i386.deb
となります。
dpkgコマンドを使用することで、パッケージの操作を行うことができます。

● dpkg コマンド構文
  dpkg [オプション] [ファイル名・パッケージ名]

● dpkg コマンドオプション
 -E既に同じバージョンがインストールされていればインストールしない。
 -G既に新しいバージョンがインストールされていればインストールしない。
 -R(--recurdive)ディレクトリ内を再帰的に処理する。
 -i(--install) パッケージをインストールする。
 -r(--remove)設定ファイルを残してパッケージをアンインストールする。
 -P(--purge)設定ファイルを含め完全にパッケージをアンインストールする。
 -l(--list)インストール済みパッケージを検索して表示する。
 -L(--listfiles)指定パッケージからインストールされたファイルを一覧表示する。
 -s(--status)パッケージ情報を表示する。
 -S(--search)ファイルのインストール元パッケージを表示する。
 -c(--contents)パッケージに含まれるファイルを表示する。

● パッケージをインストールする場合
# dpkg -i package-2.1.1-10.i386.rpm

● パッケージを削除するが、設定ファイルは残す
# dpkg -r package

● 設定ファイルを含め完全にパッケージを削除する。
# dpkg -P package

● インストールされているパッケージの一覧を表示する。
# dpkg -l

● パッケージの詳細表示を表示する。
# dpkg -s package


3.dpkg-reconfigureコマンド

パッケージインストール完了後は、dpkg-reconfigureというプログラムを使用しパッケージの設定をやり直したり、変更することができます

● パッケージの設定を変更する。
# dpkg-reconfigure package


4.apt-getコマンド

apt-getコマンドはパッケージのインストールやアップデートなど、 パッケージ管理を行うためのコマンドです。

apt-getコマンドは、パッケージをダウンロード・インストールする時のパッケージのダウンロード元の情報を/etc/apt/sources.listから得ます。ダウンロード元の情報を追加・修正するには、/etc/apt/sources.list を修正します。
/etc/apt/sources.listの各行の冒頭が deb と deb-src からなる行があります。これらは、アーカイブの種類を示しています。つまり、通常使うコンパイル済のパッケージであるバイナリ パッケージ は deb の行です。それから、オリジナルのプログラムソースと Debian のコントロールファイル (.dsc) 、およびプログラムを 'Debian 化' するのに必要な変更点を含んだ diff.gz からなるソースパッケージが deb-src 行です。

● /etc/apt/sources.list の記述例
# Debian/Squeeze is the stable base for this installation deb http://ftp.jp.debian.org/debian stable main contrib non-free deb-src http://ftp.jp.debian.org/debian stable main contrib non-free deb http://security.debian.org stable/updates main contrib non-free # testing/unstable/experimental contain newer versions, but # packages from there are not being installed by default, unless # they came from there in the first place. deb http://ftp.jp.debian.org/debian testing main contrib non-free deb-src http://ftp.jp.debian.org/debian testing main contrib non-free deb http://security.debian.org testing/updates main contrib non-free deb http://ftp.jp.debian.org/debian unstable main contrib non-free deb http://ftp.jp.debian.org/debian experimental main contrib non-free ・ ・ 省略

編集後はソースリストのアップデート(更新)を行います。

# apt-get update

● apt-get コマンドのオプション
 update パッケージリストを取得・更新する
 upgrade インストール済みのパッケージをアップグレードする
 install 新規にパッケージをインストールする
 remove インストールされたパッケージを削除する
 source ソースパッケージを取得する
 build-dep ソースパッケージのビルド依存情報を設定する
 dist-upgrade ディストリビューションをアップグレードする
 clean ダウンロードしたアーカイブファイルを削除する
 autoclean アーカイブファイルの中で古いものを削除する
 check 壊れた依存関係がないかをチェックする

(1)問い合わせ
● インストールされたパッケージの情報を取得(表示されるわけではありません。情報収集)
# apt-cache gencaches

● パッケージの情報を表示します。(既にパッケージがインストールされており、なおかつ新しいバージョンが利用可能な場合、新しいバージョンの情報を上に表示します。)
# apt-cache show package

● パッケージの詳細情報を表示します。
# apt-cache showpkg package

● パッケージの依存情報を表示
# apt-cache depends package

● キーワードを指定しパッケージを検索、依存するパッケージも表示。*Keyword=ftpとか
# apt-cache search [キーワード]

● パッケージに含まれるファイル名からパッケージを検索。 (auto-aptを使用します。auto-aptを始めて利用する場合は、以下の手順を実行してください。updateが終ったら、使用できるようになります。)
# apt-get install auto-apt

# auto-apt update

# auto-apt search package-2.1.1-10.i386.rpm

(2)インストール
● パッケージをインストールする
# apt-get install package

● パッケージを再インストールする。
# apt-get --reinstall install package

● testingのパッケージをインストールする
# apt-get install package/testing

● unstableのパッケージをインストールする
# apt-get install package/unstable

(3)削除
● パッケージの削除 (設定ファイルは残ります、依存関係にあるパッケージは削除します)
# apt-get remove package

● パッケージを削除する(設定ファイルも削除、依存関係にあるパッケージも削除します)
# apt-get --purge remove package

● パッケージの強制削除
# apt-get --purge --force-yes remove package

● その他 souces.list にある内容を反映(パッケージ情報を更新)
# apt-get update

● 取得したパッケージアーカイブで利用していないものを削除(/var/cache/apt/archives)
# apt-get autoclean

● 取得したパッケージアーカイブを全て削除(/var/cache/apt/archives)
# apt-get clean


5.apt-cacheコマンド

apt-cache コマンドはパッケージ情報を照会・検索することのできるコマンドです。照会・検索するパッケージはインストールされてなくてもかまいません。

● apt-cache コマンドのオプション
 add パッケージファイルをソースキャッシュに追加する
 gencaches パッケージ/ソースキャッシュを生成する
 showpkg 単一パッケージの一般情報を表示する
 showsrc ソースレコードを表示する
 stats 基本ステータス情報を表示する
 dump すべてのファイルを表示する
 dumpavail 存在するファイルを標準出力に出力する
 unmet 未解決の依存を表示する
 search 正規表現によってパッケージを検索する
 show パッケージの情報を表示する
 depends 指定パッケージが依存しているパッケージを表示する
 rdepends 指定パッケージに依存しているパッケージを表示する
 pkgnames すべてのパッケージ名を表示する
 dotty GraphVis用のパッケージグラフを生成する
 xvcg xvcg用のパッケージグラフを生成する
 policy ポリシー設定情報を表示する


6. aptitude コマンド

aptitude コマンドは、パッケージの検索からダウンロード、インストール、アンインストールなどを行なえ、パッケージの依存関係も管理することができます。

● aptitude コマンド
  aptitude [オプション]

● aptitude コマンドのオプション
 update パッケージ一覧情報の更新をします。パッケージの更新は行いません。
 show パッケージ名 パッケージの詳細情報を表示します。
 install パッケージ名 パッケージをインストールします。
 search 検索キーワード 検索キーワードにヒットしたパッケージの一覧を表示します。
 remove パッケージ名 パッケージを設定ファイルを残したまま削除します。
 purge パッケージ名 パッケージを設定ファイルも含めて削除します。
 download パッケージ名 パッケージの.debファイル(ソースファイル)をダウンロードします。ダウンロードするだけでインストールはしません。
 upgrade インストールされている全てのパッケージを更新します。
 reinstall パッケージ名 パッケージを再インストールします。

● パッケージをインストールする
# aptitude install apach2

● パッケージを設定ファイルも含めて削除する
# aptitude purge apach2

● パッケージのリストを最新版に更新します。
# aptitude update


7.alien コマンド

rpmパッケージなどをDebian用のdebパッケージにするためには、 alien コマンドを使用します。

● alien コマンド
  alien [コンバート形式] [オプション] ファイル名...

● alien コマンドのオプション
 -i 作成したパッケージをインストールする
 -g デフォルトである/var/lib/alien以下からバッチを探すが、別のディレクトリからバッチを探す場合に指定する
 -patch デフォルトの/var/lib/alien以外のディレクトリからバッチを探す場合に指定する
 -no-patch バッチを利用しない
 --description tgzからの変換にパッケージの要約を追加する

● RPMパッケージからDebianパッケージに変換してインストールする
# alien --to-deb -i s1-3.03-2.i386.rpm

● RPMパッケージからDebianパッケージに変換する
# alien --to-deb s1-3.03-2.i386.rpm

● DebianパッケージからRPMパッケージに変換する
# alien --to-rpm s1-3.03-2.i386.rpm


z. 出題範囲概要

●説明 Debianパッケージツールを使用してパッケージ管理を行う。
●主要な知識範囲
Debianバイナリパッケージをインストール、アップグレード、およびアンインストールする
パッケージがインストールされているか否かにかかわらず、特定のファイルまたはライブラリを含むパッケージを見つける
バージョン、内容物、依存関係、パッケージの整合性、インストール状態などのパッケージ情報を取得する(パッケージがインストールされているか否かにかかわらず)
●重要なファイル、用語、ユーティリティ
/etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, apt-cache, aptitude


  [ 例題 ] 
  1. 101:102.4 問01  dpkg-reconfigureコマンド
  2. 101:102.4 問02  パッケージのアンインストール
  3. 101:102.4 問03  apt-getのアップグレード
  4. 101:102.4 問04  リポジトリ
  5. 101:102.4 問06  dpkgコマンド
  6. 101:102.4 問07  APT
  7. 101:102.4 問08  apt-cacheコマンド


     

www.it-shikaku.jp