apt、apt-get、aptitudeの違い

サーバ立てたときなどいろいろパッケージをインストールするときにaptとapt-getとaptitudeがよく出てくるけども名前も書き方も似てるし違いがよくわから無かったので少し調べた。APTファミリーと言われるほど大きなプロジェクトで、思想の違いなどでいろいろ派生があるらしい。Debianでは現在aptが推奨されているようなので今後はaptを使っていこうと思った。

aptとapt-getとaptitudeの違い

APT: Advanced Package Toolの略

調べて見つけたものを並べただけで特になにかに注目して分類したわけではない

apt apt-get aptitude
違い apt-getの設計上のミスを修正 設計にミスあり APTの外部プロジェクトとして生まれたGUIをもったもの(未完成)
使用推奨 x x
アップグレード方法 apt upgrade apt-get upgrade aptitude safe-upgrade
アップグレードのパッケージ選択規則 緩い 現在のパッケージ構成を変えないため厳しい 緩い
フルアップグレード apt-get dist-upgrade apt full-upgrade aptitude dist-upgrade
自動的にインストールされたパッケージの追跡 ユーザが手作業でこのコマンドを実行するべきではないためコマンドなし apt-get autoremoveで不要になった自動パッケージを削除 不要な自動パッケージを見つけ次第自動的に削除するためコマンドなし

aptとaptitude

書き方 aptコマンド aptitudeコマンド
インストール apt install foo aptitude install foo
検索 apt search foo aptitude serarch foo
インストールされたパッケージのリスト apt list aptitude search ~i
削除 apt remove foo aptitude remove foo
逆依存関係のリスト apt rdepends foo aptitude search ~Dfoo
パッケージの優先度の情報 apt policy foo/apt-cache policy foo aptitude versions foo
fooのパッケージ情報 apt show foo aptitude show foo
fooのソースをダウンロード apt source foo aptitude source foo
fooのソースのダウンロードと.debパッケージのビルド apt source --compile foo なし

参考

Debian管理者ハンドブック
https://debian-handbook.info/browse/ja-JP/stable/sect.apt-get.html

Debian wiki
https://wiki.debian.org/Aptitude#apt_vs_aptitude