 | この項目では、パッケージ管理システムについて説明しています。その他の用法については「APT (曖昧さ回避)」をご覧ください。 |
APT(Advanced Packaging Tool[3]、あるいはAdvanced Package Tool[4][5])とは、ソフトウェアのインストールとアンインストール(削除)を自動的に行い、ソフトウェアの管理を簡単に行えるようにするための仕組みの1つ。
もともとDebian用に開発されたコマンドラインベースのパッケージ管理システムである。現在では多数の Debian系のLinuxディストリビューションで採用されている。dpkgのフロントエンドとして作動するように設計されたが、現在はRPMに対応するように移植された apt-rpmもある。コンパイル済みのソフトウェアを管理する機能に加え、ソースコードからソフトウェアをコンパイルする際の依存関係を解決する機能も備えている。
APT には複数のフロントエンドが用意されている。コマンドラインで作動する(CLI)フロントエンドとして apt や apt-get、aptitude がある[3]。またDebian系やRPM系ともに、Synaptic[3] というグラフィカルな(GUI)フロントエンドがある。
APTでは、コンパイル済みパッケージ(バイナリパッケージと呼ぶ)同士の関係を主に下の4つにわけて管理する。これらの関係を用いて、目的のパッケージをインストールするために必要なパッケージもしくは削除する必要があるパッケージを自動計算する。
- 依存
- パッケージを導入するのに欠かすことのできないパッケージ。
- 推奨
- 無くてもよいが、プログラムの機能を利用するために通常は導入するパッケージ。
- 提案
- 無くてもよいが、導入することによってプログラムの機能を向上させるパッケージ。
- 衝突
- パッケージを導入することで、同一の機能を有するなどの理由で削除されるパッケージ。
代表的なコマンドは次のとおり。
- 新しいソフトウェアのインストール(root権限が必要)
- ソースパッケージのダウンロード
- ソースパッケージをコンパイルする為に必要なパッケージのインストール(root権限が必要)
aptbuild-depパッケージ名[Enter]
- リポジトリの更新(root権限が必要)
- インストール済みのソフトウェアの更新(root権限が必要)
- ディストリビューションのアップグレード(root権限が必要)
(ただし、apt dist-upgrade コマンドも apt-get からの移行用としてサポートされている。)
またこれらaptコマンドを使用すると、システムに必要なパッケージが存在しない場合、その不足している依存性パッケージを自動的に判別し、そのパッケージも同時にインストールしてくれる。dist-upgradeを指定した場合、更新可能なすべてのパッケージに対して依存関係を解析し、重要なアップデートを更新するが、依存関係の問題から重要でないパッケージは削除される場合もある。
- パッケージの検索
- 特定パッケージの情報表示
- 特定パッケージの削除(root権限が必要)
- 特定パッケージの設定ファイルを含めた削除(root権限が必要)
- 不要なパッケージの自動削除(依存されていないライブラリ等)(root権限が必要)
Debian系もRPM系も設定ファイル(大抵は/etc/apt/sources.list)を書き換えることでダウンロード先の変更・パッケージリストの指定変更が可能である。Debian GNU/LinuxやVine Linuxをはじめ、この設定の変更でディストリビューションのバージョンアップを行うことができるディストリビューションも存在する。
またSynapticと同様に、パッケージのリポジトリを変更しやすくするためのGUIフロントエンドも存在する。
以下におもなコマンドの新旧対応一覧を参考として示す[6][7]。関連項目のAptitude も参照のこと。
apt-get update -> apt update -> aptitude updateapt-get upgrade -> apt upgrade -> aptitude safe-upgradeapt-get dist-upgrade -> apt full-upgrade -> aptitude full-upgradeapt-get install package -> apt install package -> aptitude install packageapt-get remove package -> apt remove package -> aptitude remove packageapt-get autoremove -> apt autoremove -> N/A apt-cache search package -> apt search package -> aptitude search packageapt-cache policy package -> apt list -a package -> aptitude list -a packageapt-cache show package -> apt show package -> show packageapt-cache search <regex> -> apt search <regex> -> aptitude search <regex>
apt や apt-get には隠し機能があり、aptitudeの隠し機能と対になっている。("\"は円記号ではなくバックスラッシュである)
$ apt moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"...
|
|---|
| dpkg | |
|---|
| RPM | |
|---|
| 組み込みシステム | |
|---|
| ディストリビューション非依存 | |
|---|
| その他(バイナリ) | |
|---|
| その他(ソース) | |
|---|
| フロントエンド | |
|---|
| 関連項目 | |
|---|
|