パッケージ管理について
今回は、パッケージ管理の基本について解説します。【連載コラム:Linuxシステム管理標準教科書を読む(27)】
Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。
パッケージは、Linuxディストリビューションを構成する基本的な仕組みです。パッケージにはアプリケーションの本体であるバイナリの他、設定ファイルやドキュメントなどが含まれており、一括してインストールや削除が行えるようになっています。このパッケージを管理することはシステムの構成を管理することに繋がります。ここでは、パッケージ管理の基本について解説します。
Linuxディストリビューションはパッケージの集合体
我々がLinuxを使用する際にはLinuxディストリビューションを用意し、インストールして使用します。このLinuxディストリビューションは、今回のテーマであるパッケージの集合体です。
たとえば、インストール時に使用するインストーラーでは、どのような用途に使うのか、どのようなソフトウェアを使用するのかを選択できるようになっています。サーバー用途、デスクトップ用途など様々な用途でインストールできますが、その目的のためにインストールされるソフトウェアは異なります。この時、内部的にはインストールするパッケージを取捨選択していることになります。
パッケージの依存関係
Linuxディストリビューションがパッケージの集合体であることは分かりました。しかし、パッケージは管理しやすいよう適度なサイズに分割されており、さらに汎用的なライブラリと個別のソフトウェアにも分けられています。そのため、特定のソフトウェアを使うためにはいくつものパッケージをまとめてインストールする必要があります。これらの複数のパッケージをまとめて管理する手法として「依存関係」が使われています。
依存関係は、あるソフトウェアを使うにはこのライブラリが必要、といった形でパッケージ間を紐付けて、漏れなくパッケージがインストールされるようにする仕組みです。依存関係は自動的に解決されるので、インストールするパッケージを1つ指定すれば、依存しているパッケージもすべて芋づる式にインストールされるように動作します。
パッケージの種類
現在よく使用されているパッケージには、RPM形式とDEB形式の2種類があります。
RPM形式
RPM(Red Hat Package Manager)の名前が示すとおり、主にRed Hat系のLinuxディストリビューションで使用されています。ツールにはDNFや旧Yum、rpmコマンドなどが使用できます。
DEB形式
主にDebian GNU/Linux系のLinuxディストリビューションで使用されています。ツールにはAPTやdpkgコマンドなどが使用できます。
リポジトリ
パッケージをインストールしたり、アップデートしたりするのを楽にするため、ネットワーク上にパッケージをアップロードしておき、必要に応じてダウンロードできるようにしておく場所をリポジトリと呼んでいます。リポジトリは仕組みとしてはWebサーバーなので、自分で用意することもできます。自前のリポジトリがあると一種のキャッシュのように働き、インターネット上のトラフィックを減らすことができるので、管理対象となるLinuxシステムが多い場合には自前のリポジトリを用意することも考えてもよいでしょう。
ディストリビューションが用意したリポジトリの他、各ソフトウェア毎に独自のリポジトリを用意している場合もあります。実際のシステムを構築する場合には、必要に応じてそれらのリポジトリを参照するように設定を追加します。
次回は、Red Hat系の新しいディストリビューションで使われているDNFについて解説します。
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
<Linuxシステム管理標準教科書とは>
「Linuxシステム管理標準教科書」(システム管理教科書)は2015年4月にリリースされた標準教科書シリーズの1冊です。Linuxシステムの運用管理という観点で書かれており、システム管理者という業務において知っておかなければならない基本的なトピックが解説されています。「Linux標準教科書」「Linuxサーバー構築標準教科書」でコマンド操作やサーバー構築の基本を学んだら、このシステム管理教科書を読んで、単にLinuxを使うのではなく、システムとして長期的に管理運用していくためのスキルを身につけてください。
バックナンバー
第26回:バックアップ方法について
第25回:バックアップについて
第24回:LVMについて
第23回:SELinuxについて
第22回:NTPサーバーとして時刻を提供する