この記事の正確性に疑問が呈されています。問題箇所に信頼できる情報源を示して、記事の改善にご協力ください。議論はノートを参照してください。(2010年4月)
Synaptic Package Manager
パッケージ管理システム(パッケージかんりシステム)、またはパッケージマネージャとは、コンピュータのプログラムを一貫した方法でインストールやアンインストール、ライブラリなどの依存関係を解決する流れをツールによって管理を自動化するシステムである[1][2]。
パッケージ管理システムが定める方式で、ソースまたはバイナリをひとつのパッケージファイルにまとめる[注釈 1]。このパッケージにはソフトウェア名、説明、バージョンナンバー、ベンダー、チェックサム、ソフトウェアが正常に動作するよう依存関係のリストなどがまとめられたメタデータを含んでいる。メタデータはパッケージをツールでインストールした際にローカルのデータベースに保存する。ツールはソフトウェアの整合性や前提条件の欠落を防ぐために、依存関係とバージョン情報のデータベースを維持する。
1994年頃にはdpkgのようなパッケージ管理システムが存在していた[3]。1995年に登場したCPANは、リポジトリからパッケージをダウンロードし、依存関係を解決するなどの機能が備わっていた[4]。 以下はパッケージ管理システムの典型的な機能である。ただし、必ずしもすべての機能が備わっているとは限らない。 OSになんらかのソフトウェアを追加インストールする場合には、ソフトウェアに関係するファイル一式をまとめた「パッケージ」が利用される。パッケージの形式は複数あるが、利用される形式はOSによって限定されることが多い。 以下のパッケージには、インストールされるデータ・依存関係のみが含まれており、OSに搭載されているパッケージ管理システムを用いることでインストールできる。 ソフトウェアのアーカイブにインストール処理を行う仕組みを追加した形式。Mac OSやWindowsでよく使われ、Linuxディストリビューション向けのソフトウェアでも稀に利用される。依存関係の解決・インストールは、パッケージが独自に行う。 この他、ソフトウェアのソースコードがアーカイブされたパッケージも存在する。LinuxやFreeBSD等を含むUnix系OS等では、おもにtar.gz形式やtar.bz2形式などで配布されている。
主な機能
リポジトリの購読
インターネット上(やインストールCD上)のパッケージリポジトリを指定して、必要に応じてローカルのパッケージリストを更新する。また、パッケージ名や説明を検索して必要なパッケージを探すことができる。
ソフトウェアパッケージのインストール・削除
パッケージ名やパッケージファイルを指定してソフトウェアのダウンロードや完全性の検証、インストールをすることができる。ソースコードや設定ファイルをパッケージ化して、インストールすることができる。設定ファイルなどを完全に削除することもできる。
依存関係の解決
あるパッケージに必要なソフトウェアを自動的にインストールしたり更新することができる。また、同時にインストールまたは更新できないソフトウェアパッケージのインストールや更新を回避できる。
設定管理
パッケージの設定スクリプトを使って、自動的に設定を行える。競合する機能をもつソフトウェアで、どちらを優先して使うかを設定できる。
パッケージ形式
実行形式でないもの
RPM形式パッケージ
Red Hat Linux用に開発されたパッケージ形式。Red Hat Enterprise LinuxのほかTurbolinuxやVine Linux等でも利用される。
deb形式パッケージ
Debian用に開発されたパッケージ形式。dpkgやAPTを用いてインストール・管理される。
ports
FreeBSDで利用されるパッケージ形式。
pkg形式パッケージ
Solarisで利用されるパッケージ形式。FreeBSD 10.0でも、以前はpkgngと呼ばれていた形式がpkg(8)として採用されている[5]。
実行形式
InstallShieldベースのパッケージ
InstallShieldは、Windowsをはじめ、macOSやLinux等のPC-UNIX向けのインストーラーを作成できる。
シェルスクリプトベースのパッケージ
主にBashで書かれ、複数のディストリビューションを対象としたLinux向けのプロプライエタリソフトウェアに用いられる形式。