パッケージ管理システム 【package management system】 パッケージマネージャ / package manager
概要
パッケージ管理システム(package management system)とは、ソフトウェアをインターネットなどを通じて取り寄せ、システムへの導入や削除、更新、必要な外部のソフトウェアの自動取得(依存関係の解決)などを行なうソフトウェアのこと。オペレーティングシステム(OS)向けのものとプログラミング言語向けのものがある。一つのソフトウェアを構成する実行プログラムやソースコード、設定ファイル、データファイル、ドキュメントなどを特定の形式の圧縮ファイルなどにまとめたものを「パッケージ」(package)という。
オープンソースソフトウェアやフリーソフトウェアとして提供されているパッケージはインターネット上の集積場所(リポジトリ)で配布されており、誰でも自由に入手・導入(インストール)することができる。
パッケージ管理システムはリポジトリに接続してパッケージの一覧を取得し、利用者が指示したパッケージを取り寄せて自動的に展開、導入(インストール)して実行可能な状態にする。また、不要になったパッケージを指示に従ってシステムから除去したり、最新版を取り寄せて更新することができる。あるパッケージが別のパッケージを必要とする場合(依存)には、これを調べて自動的に導入することもできる。
OSにソフトウェアを導入するためのパッケージ管理システムは主にLinuxなどのUNIX系OSで用いられ、Linux向けの「dpkg」や「APT」(Advanced Package Tool)、「RPM」(Red Hat Package Manager)、「yum」(Yellowdog Updater Modified)、FreeBSD向けの「ports」などがよく知られている。macOSの「Homebrew」やWindowsの「PackageManagement」などもあるが、これらのOSでは主にソフトウェア開発者やシステム管理者などが利用し、一般の利用者はあまり使わない。
プログラミング言語の開発環境にも、モジュールやライブラリなどの導入や管理を容易にするため独自のパッケージ管理システムが付属していることが多い。Pythonの「pip」、Rubyの「RubyGems」、Perlの「CPAN」、JavaScriptの「npm」、Javaの「Maven」、.NET Frameworkの「NuGet」などがよく知られる。Go言語の「go mod」コマンドのように、標準の処理系のコマンドなどにあらかじめ統合されている場合もある。