apt-getとaptitudeって結局どう違うの(´・ω・`)?


うーむ(´・ω・`)

aptitudeは、Debianなどが採用するAPTシステムにおけるCUIフロントエンドの一つ。APTシステムにおける代表的なコマンドであるapt-getなどに比べて、より強力なパッケージ管理機能(高機能な検索、対話的なソフトウェアの追加・削除ができる)を有する。
また、引数をつけずに’aptitude’を起動すればフルスクリーンモードで起動できる

aptitude – Wikipedia

ふーむ(´・ω・`)
easteregg

大元のエントリはもうない模様(´・ω・`)

インストール時

 主な違いは「推奨(recommends)パッケージ」の扱いです。apt-getは推奨パッケージを表示するだけに留めますが、aptitudeは推奨パッケージもインストールしようとします(たぶん提案(suggests)パッケージはインストールしません。推奨と提案の違いはこのエントリの質疑応答が参考になります)。

アンインストール時

 主な違いは必要のなくなったパッケージ(孤児(orphan)パッケージと呼ばれるらしい)の扱いです。apt-getもaptitudeもあるパッケージをインストールしたとき、必要なパッケージも自動的にインストールしてくれますが、インストールしたパッケージを削除したとき、apt-getはそのパッケージだけを、aptitudeは(/var/log/aptitudeのログを元に)不要になったパッケージも削除します。

apt-getとaptitudeの違い – Hi-MEATBALL.

 
なるほど(´・ω・`)

2.2.1. apt-get/apt-cache と aptitude の比較

  • apt-get や apt-cache コマンドは最も基本的なパッケージ管理ツールです。
  • apt-get/apt-cache はコマンドラインのユーザーインターフェースのみを提供します。
  • apt-get はリリース間のような大掛かりなシステムアップグレードに最適です。
  • apt-get は共通のパッケージ状態データーを使う頑強で安定なパッケージリゾルバーを提供します。
  • apt-getはハードウエアリソースへの要求が楽である。メモリーの消費は少なく、実行速度が早い
  • apt-get は推薦パッケージの自動インストールと自動削除をサポートするように更新されています。
  • apt-get はパッケージ活動のログをサポートするように更新されています。
  • apt-cache はパッケージ名や説明に関して標準の regex を使った検索機能を提供します。
  • apt-get と apt-cache は /etc/apt/preferences を使って複数のバージョンのパッケージを管理できますが、それはとても面倒です。
  • aptitude コマンドは最も多芸なパッケージ管理ツールです。
  • aptitude はフルスクリーンのインタラクティブなテキストユーザーインターフェースを提供します。
  • aptitude はコマンドラインのユーザーインターフェースも提供します。
  • aptitude はインストールされたパッケージを検査したり利用可能なパッケージを探索したりするような日常のインタラクティブなパッケージ管理に最適です。
  • aptitudeはハードウエアリソースへの要求が厳しい。メモリーの消費は多く、実行速度も遅い。
  • aptitude は aptitude のみにより使われる追加のパッケージ状態データーもまた使う拡張パッケージリゾルバーを提供します。
  • aptitude は推薦パッケージの自動インストールや自動削除をサポートします。
  • aptitude はパッケージ活動のログをサポートします。
  • aptitude はパッケージメタデータ全てに関する拡張されたregex を使った探索を提供します。
  • aptitude は /etc/apt/preferences を使わずに複数のバージョンのパッケージを管理できますし、それは非常に直感的です。

[注記] 注記
aptitude コマンドはその拡張されたパッケージリゾルバーのような豊富なフィーチャーとともに提供されますが、この複雑さは Bug #411123 や Bug #514930 や Bug #570377 のようないくつかのリグレッションを引き起こしました (また起こしているかもしれません)。疑いのある場合には、aptitude コマンドに代えて apt-get や apt-cache コマンドを使ってください。

第2章 Debian パッケージ管理 2.2.1. apt-get/apt-cache と aptitude の比較

 
そういえばdpkgってあったな(´・ω・`)

aptitudeはapt-getのフロントエンドであるということと、aptitudeは独自のログを持っているということをヒントに検索したところ以下の記事が見つかりました。(英語)
http://www.psychocats.net/ubuntu/aptitude

以下抜粋です。
“aptitudeはremoveの際に依存するライブラリが他のパッケージが依存していない場合に限り削除する。

またaptitudeが正しく動作するように、updateをしたのちinstallを行う必要がある。それから、apt-getもしくはSynapticでのinstallはできないのとaptitudeでアンインストールを行うことによって依存性が削除されることを予期していないといけない。”

ここまではapt-get autoremoveで代用がききそうです。

また以下のQ&Aによるとディストリビューションのupgradeに大きな差があるそうです。
http://superuser.com/questions/93437/ap … -use-actua

apt-get dist-upgrade と aptitude full-upgradeは別のルールで動作し、aptitudeの方が”大体いい”とのことです。

Ubuntu日本語フォーラム / apt-getからaptitudeへの乗り換え


apitudeでインストールしてないとそのインストールログが利用出来ないので
そういう場合のパッケージのアンインストールや依存関係絡みでバグがあった時は
apt-getでやったほうが良くて、システム構成が凄い貧弱じゃなくて新規に管理を始めるなら
基本的にはaptitudeの方が良いって感じなのかな。

依存関係のエラーの時でも結果的に修正が出来ることがあるし。