Linuxにおけるパッケージ管理システムについて

パッケージ管理システムとは?

実行プログラム、設定ファイル、ドキュメントなどを1つのファイルにまとめたものをパッケージという。アプリのソースファイルを直接入手してコンパイル、インストールするのは、アプリによって手法が異なったり依存関係の確認をユーザー自身が行う必要があり、作業が複雑になりがち。パッケージ管理システムを使用すると、ソフトウェアの導入、インストールされているソフトウェア情報の調査、依存関係の確認や競合の回避などを容易に行うことができる。Debian系で採用されているDebian形式と、Red Hat系で採用されているRPM形式がある。両者には互換性がない。また、ファイルやデータを集積している場所や、それらの情報を管理するデータベースをリポジトリといい、ファイルシステム上のディレクトリやネットワーク上のサーバーに配置されている。APTツールやYUMで、リポジトリからパッケージをインストールできる。

RPM形式

RPMパッケージのファイル名について

例: vash-4.2.46-30.el7.x86_64.rpm
「vash」の箇所がパッケージ名、「4.2.46」の箇所がバージョン番号、「30.el7」の箇所がリリース番号(ディストリビューションを表す。)、「x86_64」の箇所がアーキテクチャ、「rpm」の箇所が拡張子

関連コマンド

rpmコマンド→ローカルディスクにあるパッケージファイルをインストールしたり、パッケージファイルの詳細を調査したりする。
rpm2cpioコマンド→RPMパッケージをインストールする前に、作業ディレクトリにcpio形式で展開、出力され、中のファイルを確認できるコマンド
yumコマンド→YUMを使った管理コマンドで、インターネット上のリポジトリと通信し、簡単にrpmパッケージのインストールや最新情報の入手ができる。
dnfコマンド→yumコマンドに代わるコマンドで、基本、yumコマンドはdnfコマンドのソフトリンクになっている。
yumdownloaderコマンド→rpmパッケージのインストールは行わず、個別にrpmファイルをダウンロードするコマンド。一般ユーザー権限でも使用可能で、最新のパッケージを使用するのではなく決められたバージョンで構築しなければならない場合に便利。
zipperコマンド→openSUSEの管理ツールのコマンド(パッケージはRPM形式を採用している)

関連ファイル

/etc/yum.confyumの全体的な設定ファイル
/etc/yum.repos.dディレクトリポジトリ情報の設定ファイルが配置される。パッケージの入手先を増やしたい場合は、リポジトリ情報の設定ファイルを追加する。設定ファイル内では$releaserverや$basearchなどの変数が使える。

Debian形式

devパッケージのファイル名について

例: tree_1.6.0-1_i386.deb
「tree」の箇所がパッケージ名、「1.6.0」の箇所がバージョン番号、「1」の箇所がリビジョン番号(バージョン番号に基づくUbuntu又はDebianパッケージとしての番号。)、「i386」の箇所がアーキテクチャ、「deb」の箇所が拡張子

関連コマンド

dpkgコマンド→RPM形式のrpmこまんどにあたる
dpkg-reconfigureコマンド→指定したインストール済のパッケージに対しインストール時と同じように設定を行うことが可能。
apt-getコマンド→リポジトリからのインストール、アップグレード、アンインストールを行う
apt-cacheコマンド→debパッケージ情報の検索、表示を行う。
aptコマンド→apt-getとapt-cacheを合わせたようなコマンドで、最近ではこちらが推奨されている。

関連ファイル

/etc/apt/sources.list→apt-getコマンドで使用する、パッケージを管理しているサイトのURLを記述する。設定し終わったら「apt-get update」を実行し、最新のパッケージ情報を取得(更新)する。

参照文献

LPICレベル1教科書
LPICレベル1スピードマスター