パッケージ管理システムとは、OSというひとつの環境で、各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。
パッケージ形式
OSになんらかの追加インストールを行う場合には、いくつものパッケージ形式が使われる。
-
実行ファイルのアーカイブ:Windows等でも一般的で、ほとんどのOSでも利用される。おもにZIP形式やLZH形式で配布される。
-
実行ファイル化されたアーカイブ:MacOSやWindowsでよく使われる。実行ファイルのアーカイブにインストール処理を行う仕組みを追加した形式で、アイコンのダブルクリックだけでインストーラーが起動できる。InstallShieldなどがある。
-
RPM形式パッケージ:Red Hat Linux用に開発されたパッケージ形式。RedHatのほかTurbolinuxやVine Linux等でも利用される。
-
deb形式パッケージ:Debian用に開発されたパッケージ形式。
-
ports形式パッケージ:FreeBSDで利用されるパッケージ形式。
-
pkg形式パッケージ:Solarisで利用されるパッケージ形式。
-
ソースアーカイブ:Linux,FreeBSD等を含むUNIX系OS等で一般的であり、おもにtar.gz形式などで配布されている。利用者は、対象とするPC環境に合わせて、コンパイル等の作業を行った上でインストールする。
パッケージ管理システム
現在では、多くのOS環境で、パッケージ管理システムによる追加ソフトウェアの導入と削除が、多かれ少なかれ、行えるようになっている。そのようなシステムには、OSのバージョンや個別のソフト同士における
バージョンの
ミスマッチを回避する仕組みも備わっている。
-
dpkg:deb形式パッケージを対象としたDebian GNU/Linuxで開発されたツール。
-
apt:deb形式を対象として開発されたツール。apt-get,apt-cache等の複数のコマンドから成る。配布パッケージの自動入手先として、インターネット,LAN,CD-ROM等をapt-lineとして複数指定することができる。追加インストールのほか、導入済パッケージのアップデート作業も自動処理できる。Debian GNU/LInuxから派生したMEPIS/Linux等では、Debian以外のapt-lineを用意することで、効率的なアップデート提供を行っている。
-
aptitude:CUI上で動くメニュー形式のツール。内部的にaptを呼び出す仕組みで、Debian GNU/LinuxのOSインストール中にも、aptitudeが呼び出されるようになっている。
-
synaptic:GUI(X Window System)上で動くメニュー形式のツール。内部的にaptを呼び出し処理する。
-
apt-watch / update-manager:GUI上で動く、自動更新アプレット。Red Hat社のパッケージ管理ツールである RHN と類似した機能を有することが特徴である。内部的に apt を呼び出し処理する。
-
RPM:rpm 形式パッケージを対象とした Red Hat Linux で開発されたツール。単純なインストールのほか、src.rpm 形式や nosrc.rpm 形式 + ソースアーカイブなどを使って、ソースからの rebuild を行い rpm パッケージを生成する機能もある。以下のパッケージ管理ツールはいずれも rpm を置き換えるものではなく、rpm をバックエンドとして利用し、より高度な機能を提供している。
-
apt-rpm,aptitude,synaptic:本来 deb 形式対応のこれらのツールは rpm 対応版が作成され、Fedora や Vine Linux 等で利用されている。
-
TurboPackage:rpm 形式パッケージを対象とした Turbolinux で開発されたツール。
-
up2date:rpm 形式パッケージを対象にした Red Hat 社のパッケージ管理ツール。同社の Red Hat Enterprise Linux で採用されている。Fedora Core の古いバージョンでも利用可能だった。
-
YaST:rpm 形式パッケージを対象とした SuSE Linux で開発されたツール。YaST は単なるパッケージ管理ツールではなく、統合的なシステム管理ツールである。
-
yum:rpm 形式パッケージを対象とした Yellow Dog Linux で開発されたツール。Fedora や CentOS でも利用できる。
rPath系Linux
-
Conary:ConaryはForesight LinuxやrPath Linuxにより採用され、RPM、CVS、Portageなどの優れた点を集め、さらにいくつか優れた機能を追加し、明解なリビジョン・コントロールを行う先進的な次世代パッケージ管理システムである。Conaryはアップデートされる必要があるパッケージにおいて、特定のファイルのみをアップデートするので、RPMやDEBなどパッケージ全体がダウンロードされる他のフォーマットよりも効率的である。
-
portage:Gentoo Linuxでは、ソフトは原則的にソースをコンパイルしてインストールするようになっている。このため、PCごとに最適化された、無駄の少ない環境を構築できる。ただし、インストールに多くの時間がかかる。OpenOffice.org や Adobe Reader などのバイナリパッケージもある。FreeBSD の ports に着想を得て開発された。FreeBSD や Mac OS X にも移植されている。
-
ports:原則的にソースをコンパイルしてインストールするようになっている。このため、PCごとに最適化された、無駄の少ない環境を構築できる。ただし、インストールに多くの時間がかかる。FreeBSDにはこの他にPackagesというバイナリパッケージも存在し、こちらはコンパイルを行わないため時間を要しない。
-
pkgsrc:原則的にソースをコンパイルしてインストールするようになっている。このため、PCごとに最適化された、無駄の少ない環境を構築できる。ただし、インストールに多くの時間がかかる。また、OSには依存せず、NetBSD以外にも Linux や MacOSX、Solaris などでも使える。