APT

APT（、あるいは ）とは、ソフトウェアのインストールとアンインストール（削除）を自動的に行い、ソフトウェアの管理を簡単に行えるようにするための仕組みの1つ。

概要 
もともと Debian用に開発されたコマンドラインベースのパッケージ管理システムである。現在では多数の Debian系の Linuxディストリビューションで採用されている。dpkgのフロントエンドとして作動するように設計されたが、現在はRPMに対応するように移植された apt-rpmもある。コンパイル済みのソフトウェアを管理する機能に加え、ソースコードからソフトウェアをコンパイルする際の依存関係を解決する機能も備えている。

フロントエンド 
APT には複数のフロントエンドが用意されている。コマンドライン（CUI）で作動するフロントエンドとして apt や apt-get、aptitude がある。またDebian系やRPM系ともに、Synaptic というグラフィカルな（GUI）フロントエンドがある。

機能 
APTでは、コンパイル済みパッケージ（バイナリパッケージと呼ぶ）同士の関係を主に下の4つにわけて管理する。これらの関係を用いて、目的のパッケージをインストールするために必要なパッケージもしくは削除する必要があるパッケージを自動計算する。

 依存  パッケージを導入するのに欠かすことのできないパッケージ。
 推奨  無くてもよいが、プログラムの機能を利用するために通常は導入するパッケージ。
 提案  無くてもよいが、導入することによってプログラムの機能を向上させるパッケージ。
 衝突  パッケージを導入することで、同一の機能を有するなどの理由で削除されるパッケージ。

代表的なコマンドは次のとおり。

追加・ダウンロード 
新しいソフトウェアのインストール（root権限が必要）
apt install パッケージ名 [ Enter ]
ソースパッケージのダウンロード
apt source パッケージ名 [ Enter ]
ソースパッケージをコンパイルする為に必要なパッケージのインストール（root権限が必要）
apt build-dep パッケージ名 [ Enter ]

更新（アップデート） 
リポジトリの更新（root権限が必要）
apt update [ Enter ]
インストール済みのソフトウェアの更新（root権限が必要）
apt upgrade [ Enter ]
ディストリビューションのアップグレード（root権限が必要）
apt full-upgrade [ Enter ]
（ただし、apt dist-upgrade コマンドも agt-get からの移行用としてサポートされている。)

またこれらaptコマンドを使用すると、システムに必要なパッケージが存在しない場合、その不足している依存性パッケージを自動的に判別し、そのパッケージも同時にインストールしてくれる。dist-upgradeを指定した場合、更新可能なすべてのパッケージに対して依存関係を解析し、重要なアップデートを更新するが、依存関係の問題から重要でないパッケージは削除される場合もある。

検索・情報表示 
パッケージの検索
apt search 検索キーワード [ Enter ]
特定パッケージの情報表示
apt show パッケージ名 [ Enter ]

削除 
特定パッケージの削除（root権限が必要）
apt remove パッケージ名 [ Enter ]
特定パッケージの設定ファイルを含めた削除（root権限が必要）
apt purge パッケージ名 [ Enter ]
不要なパッケージの自動削除(依存されていないライブラリ等)（root権限が必要）
apt autoremove [ Enter ]

Debian系もRPM系も設定ファイル（大抵は/etc/apt/sources.list）を書き換えることでダウンロード先の変更・パッケージリストの指定変更が可能である。Debian GNU/LinuxやVine Linuxをはじめ、この設定の変更でディストリビューションのバージョンアップを行うことができるディストリビューションも存在する。

またSynapticと同様に、パッケージのリポジトリを変更しやすくするためのGUIフロントエンドも存在する。

新旧コマンド対応の概要 
以下におもなコマンドの新旧対応一覧を参考として示す。関連項目の Aptitude も参照のこと。

 apt-get update             ->  apt update           ->  aptitude update
 
 apt-get upgrade            ->  apt upgrade          ->  aptitude safe-upgrade
 
 apt-get dist-upgrade       ->  apt full-upgrade     ->  aptitude full-upgrade
 
 apt-get install package    ->  apt install package  ->  aptitude install package
 
 apt-get remove package     ->  apt remove package   ->  aptitude remove package
 
 apt-get autoremove         ->  apt autoremove       ->  N/A 
 
 apt-cache search package   ->  apt search package   ->  aptitude search package
 
 apt-cache policy package   ->  apt list -a package  ->  aptitude list -a package
 
 apt-cache show package     ->  apt show package     ->  show package
 
 apt-cache search <regex>   ->  apt search <regex>   ->  aptitude search <regex>

イースターエッグ 
apt や apt-get には隠し機能があり、aptitudeの隠し機能と対になっている。(""は円記号ではなくバックスラッシュである)
 $ apt moo
          (__) 
          (oo) 
    /------/ 
   / |    ||   
  *  /---/
     ~~   ~~   
 ...."Have you mooed today?"...

脚注

関連項目 
dpkg
apt-rpm（英語版）
Linux Standard Base
RPM

外部リンク 
 

フリーパッケージ管理システム
Debian