[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:51115] Re: apt vs aptitude (was: Re: 東京エリア Debian 勉強会 2008年11月の事前課題)



小林です。

2008/10/11 0:02 Hideki Yamane <henrich@debian.or.jp>:
> On Fri, 10 Oct 2008 16:22:01 +0900
> toshi hirasawa <toshi_hirasawa@xxxxxxxxxxxxxxxx> wrote:
>> updateの場合は apt-getコマンドだとばっかり思っていたのですが
>> aptitudeってのもあるんですね?
>> 引数だけみると同じにみえるような.........
>>
>> なにが違うんですか? なんていきなり質問してすいません。
>
>  大体使い方は同じで役割も同じです。
> で、何が違うかというと機能が違うわけで…
>
> 一つは CUI な対話式インターフェイスを持っています。
> 引数無しでまず apt-get を実行してみて、その後 aptitude を実行してみてください。
> 違いが分かると思います。
>
> えーと、残りは小林さんあたりの方が詳しいとは思うので、できれば解説を希望 :)

最初に書いておくと、
updateは、ぼくの認識では基本的にapt-getでもaptitudeでもまったく同じです。
(もしかしたら最近debtagsサポートの追加などで変わっているかもしれませんが。)

で、何が違うのかとのことなので、思いつくままに違いを列挙しておきます。

* aptではインストール関連のapt-getコマンド (root権限が必要) と情報閲覧関連のapt-cacheコマンド
  (一般ユーザ権限で十分) に分かれています。
  aptitudeではコマンドはaptitudeだけです。
  aptitudeでは、実際のインストールなどにはもちろんroot権限が必要ですが、
  -sオプションでインストールをシミュレートしたり、後述するビジュアルモードを立ち上げたりするのに、
  root権限は不要です。

* aptitudeでは、メニュー形式のビジュアルモードが利用できます。
  やまねさんの言うように、何も引数に与えずに実行するとビジュアルモードに入ります。
  (慣れないと使いづらいかもしれません。なお、現在GTK+インタフェースも開発中です)

* aptitudeでは対話モードも利用できます。
  aptitude installでパッケージをインストールする際、
  指定したパッケージ以外のパッケージもインストールされる場合や、
  依存関係が簡単には解決できない場合に、
  「先に進みますか? [Y/n/?]」「この解決方法を受け入れますか? [Y/n/q/?]」のようなメニューが出ます。
  普通はyやnやqくらいしか使わないかもしれませんが、それら以外のコマンドも使えます。
  「?」を叩くと、対話モードのメニューが表示されます。

* aptitudeでは、強力なパッケージ検索が利用可能です。
  例えば、「パッケージ名にfooを含みパッケージ説明にbarを含み、libfoobarに依存するパッケージ」は、
  「aptitude search "~nfoo~dbar~Dlibfoobar"」で検索できます。
  「Hideki Yamaneという人がメンテナンスしているパッケージでインストールされているもの」は、
  「aptitude search "~mHideki~ Yamane~i"」で検索できます。
  パッケージ検索については、詳しくは、aptitude-doc-jaを入れて、
  /usr/share/doc/aptitude/htmlにインストールされるドキュメントを眺めてください。
  (すみません。lennyでの大幅な機能追加による原文の更新が激しくて、
  現在このセクションはほとんど英語ばかりになってしまっています。)

* aptitudeには、
  「自動的にインストールされたパッケージが必要とされなくなったときに、自動的に削除される」
  という特長がありました。
  パッケージAがパッケージBを必要としているとき、AをインストールするとBもインストールされますが、
  Bを削除したらAは不要になりますよね。
  昔は、aptitudeでのみAが削除されていました。
  aptではAは削除されず、deborphanのようなパッケージを使って、
  不要になったライブラリを探して削除しなければなりませんでした。
  これはaptitudeの大きなメリットでしたが、
  lennyにおいて、aptitudeの自動インストール情報管理機構がaptに移植されたので、
  現在はaptitudeのメリットではなくなっています。

思いつくままにざっと書いてみました。
分からないこともあるかもしれませんが、すべてきちんと分かる必要はないかと思います。
「この機能が便利!」というものがあれば幸いです。

Have a nice day,

-nori