両方ともapt-get
およびaptitude
は、Debian派生Linuxのコマンドラインパッケージ管理インターフェースであり、さまざまなオプションがありますが、まだ混乱しています。内部では、同じAPTシステムを使用していませんか?
Debianはなぜこれらの並行ツールを維持しているのですか? (ボーナス質問:一体何が wajig ?)
最も明らかな違いは、aptitude
がターミナルメニューインターフェースを提供する(ターミナルのSynapticによく似ている)のに対し、apt-get
は提供しないことです。
それぞれのコマンドラインインターフェイスのみを考慮すると、それらは非常によく似ており、ほとんどの場合、どちらを使用するかは問題ではありません。両方の最近のバージョンでは、手動でインストールされたパッケージと、依存関係としてインストールされた(したがって、自動削除の対象となる)パッケージが追跡されます。実際、さらに最近では、2つのツールが更新され、手動でインストールされたパッケージと自動的にインストールされたパッケージの同じデータベースを実際に共有するようになりました。過去。
いくつかの小さな違いがあります:
他にも小さな違いはありますが、それらは私が考えることができる最も重要なものです。
要するに、aptitudeはSynapticや他の高レベルのパッケージマネージャーフロントエンドのカテゴリに適切に属しています。たまたまapt-getに似たコマンドラインインターフェイスもある。
Apt-cacheやapt-markなどの「コンパニオン」ツールについて、どのように説明したか覚えていますか?ええと、それらはたくさんあります。それらを頻繁に使用すると、どのコマンドがどのコマンドを提供するか覚えていないかもしれません。 wajigはその問題の1つの解決策です。これは基本的にディスパッチャであり、これらすべてのツールのラッパーです。また、必要に応じてSudoを適用します。 wajig install foo
と言うと、wajigは「OK、install
はapt-get
によって提供され、管理者権限が必要です」と言ってSudo apt-get install foo
を実行します。 wajig search foo
と言うと、wajigは「OK、search
はapt-cache
によって提供され、管理者権限を必要としません」と言い、apt-cache search foo
を実行します。 apt-get、apt-mark、apt-cacheなどの代わりにwajigを使用すると、この問題が発生することはありません。
$ apt-get search foo
E: Invalid operation search
Wajigが舞台裏で何をしているか、特定のコマンドを実装するためにどのツールを使用しているかを知りたい場合は、--simulate
および--teaching
モードがあります。
私がよく使用する2つのwajigコマンドはwajig listfiles foo
とwajig whichpkg /usr/bin/foo
です。
私はしばしば自分自身を不思議に思った。 ウィキペディアのハイライト aptitudeにはフルスクリーンのテキストモード(呪い)インターフェースがあるというのが主な特徴です。 aptitude
自体でほとんどのapt-get
コマンド引数を使用できるという事実は、apt-get
ユーザーがaptitude
に簡単に移動できるようにするための単なる設計上の決定です。その逆。
私はwajig
を使用したことはありませんが、ドキュメントでは、それがdeb
ファイル(dpkg
を実行するとき)またはapt
パッケージ名(代わりにapt-get
を実行する場合)。試してみて、それが何であるかを確認してください。
もちろん、realの違いは次のとおりです。
gaurav@fern:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
gaurav@fern:~$ aptitude moo
There are no Easter Eggs in this program.
aptitudeは、Debianでのパッケージのインストールとパッケージまたはシステムのアップグレードの両方で、コンソールからのパッケージ管理に推奨されるプログラムです。
ツールの概要とapt-getを超える機能: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
だから、私のアドバイスはapt-get install aptitude :)
aptitude
は、明示的に要求されたパッケージと、依存関係のためにのみインストールされたパッケージを記憶します。明示的に要求されなかったパッケージは、不要になったときに自動的にアンインストールされます。
apt-get
は明示的に要求されたパッケージとそれらの依存関係を同じように扱います。
aptitude
を使用することをお勧めします。これは、システムをクリーンに保つのに役立ちます。
apt-get
は、さまざまな関連ツールと同様に、aptitude
のそれぞれのコマンドライン呼び出しよりも大幅に少ないメモリを使用し、少し高速です。 32MBのRAMを備えたワイズ化された古いペンティアムthinkpadでdebianインストールをアップグレードしようとするまで、私はこのことに気付かなかった。 apt-get
を実行するには、1〜2時間のスワップスラッシングが必要ですが、正常に完了しました。 aptitude
は、もっと長い期間を考えた後で失敗します。
この違いは、現代のデスクトップシステムに似ているものには、ほとんど関係ありません。
@Gauravの答えに基づいて、2つのパッケージマネージャーのイースターエッグはかなり面白いです!:
siddhartha@siddhartha-dev:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
..."Have you mooed today?"...
siddhartha@siddhartha-dev:~$ aptitude moo
There are no Easter Eggs in this program.
siddhartha@siddhartha-dev:~$ aptitude -v moo
There really are no Easter Eggs in this program.
siddhartha@siddhartha-dev:~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
siddhartha@siddhartha-dev:~$ aptitude -vvv moo
Stop it!
siddhartha@siddhartha-dev:~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
等々。
それらは同じ基本機能を提供します:コマンドラインからパッケージをインストールおよび削除します。
こちらは より詳細な比較であり、 Ubuntu Stack Exchangeのウェブサイトに掲載されています : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
http://pthree.org/2007/08/12/aptitude-vs-apt-get/ のように、aptitude
の方がコマンドラインインターフェイスを使用する方がはるかに簡単です。
内部では、同じAPTシステムを使用していませんか?はい。
基盤となるシステムはapt
だけでなく、dpkg
でもあります。このシステムはRPMと同じくらい馬鹿げており、単一のパッケージのインストールと管理しか処理できません。インストールされているファイルがどのパッケージに属しているかを追跡します。
apt
は、すべての個々のパッケージのリポジトリのダウンロード、依存関係の追跡などを処理し、dpkg
を使用してインストールします。 aptitude
も同じことをしますが、インターフェースは異なります。
これがまだ当てはまるかどうかはわかりませんが、最先端のDebian開発者Joey Hessは常にapt-getよりも適性を主張してきました。もちろん、ソフトウェアの進化に伴って変化するもの。 Apt-getが依存関係を以前よりも適切に処理するようになりました。 http://lists.debian.org/debian-user/2004/04/msg03138.html から
日付:火曜日、2004年4月20日22:27:12 -0400送信元:ジョーイヘス
Apt-getやdselectの代わりにaptitudeを使うべき9つの理由。
aptitudeはapt-getのように見える
「aptitude update」、「aptitude upgrade」、または「aptitude install」を実行すると、外観と動作はapt-getと同じですが、いくつかの機能が強化されています。したがって、学習曲線はありません。
(dselectユーザーの場合、学習曲線は明らかに問題の1つではありません。)
aptitudeは自動的にインストールされたパッケージを追跡します
システムから未使用のライブラリとサポートパッケージを削除することについて心配する必要はありません。 aptitudeを使用してすべてをインストールする場合は、依存関係だけでプルされたパッケージを追跡し、不要になったパッケージを削除します。
aptitudeは正常に推奨を処理します
Apt-getの長期にわたる失敗は、Recommends関係に対するサポートの欠如でした。 Debianの多くのパッケージは、平均的なユーザーがパッケージで一般的に使用するソフトウェアを取り込むことを推奨に依存しているため、これは問題です。これは珍しい問題の原因ではありませんが、最近apt-getが少なくとも推奨パッケージに言及できるようになったとしても、警告を見逃しがちです。
AptitudeはデフォルトでRecommendsをサポートし、Suggestsもサポートするように構成できます。コマンドラインモードで使用する場合、推奨パッケージのインストールもサポートします。
aptitudeを通常のユーザーとして使用し、システムの悪用を避けます
通常のユーザーとしてaptitudeをGUIモードで実行できることを知らなかったのかもしれません。試してみたい変更を加えます。実際の混乱に陥った場合は、「q」を押して終了できます。変更は保存されません。 (Aptitudeではctrl-uを使用して変更を取り消すこともできます。)通常のユーザーとして実行されているため、aptitudeに何かをするように指示するまでシステムをホースできません。その場合、システムはrootパスワードの入力を求めます。
aptitudeには強力なUIと検索機能があります
Aptitudeのカテゴリーブラウザーと、名前、説明、メンテナー、依存関係などによるパッケージのmuttスタイルのフィルタリングおよび検索の優れたサポートとの間で、aptitudeを使用する前にこれまでよりも速くパッケージを見つけることができるはずです。
aptitudeを使用すると、古いソフトウェアを簡単に追跡できます
Debianがパッケージの配布を停止した場合、aptはそれをシステムに無期限に残し、警告もアップグレードもありません。 Aptitudeは、そのようなパッケージを「廃止され、ローカルで作成されたパッケージ」セクションにリストしているので、問題を通知され、それに対して何かを行うことができます。
aptitudeにはDebianタスクシステムへのインターフェースがあります
Aptitudeでは、Debianのタスクシステムを使用するように設計されているので、それを使用できます。使用可能なタスクを参照して、インストールするタスクを選択し、それを掘り下げて、タスクの不要な部分の選択を解除できます。 apt-getはタスクをサポートしておらず、taskelのような特別な目的のツールよりもaptitudeの方が優れています。
aptitudeは複数のソースをサポートします
Sources.listがパッケージの複数のバージョンを利用できるように設定されている場合、aptitudeはドリルダウンして利用可能なバージョンを表示し、デフォルト以外のバージョンを選択してインストールできます。パッケージが不安定で壊れた場合は、テスト中のバージョンにロールバックするだけです。
aptitudeはそのアクションを記録します
Aptitudeのログパッケージは/ varlog/aptitudeにインストール、アップグレード、削除されます。これは、昨日のアップグレード後に、または一部のパッケージを削除したときに問題が発生し始めた理由を解明するのに役立ちます。
-シャイジョーを参照してください
=================== 2010年の新しいディスカッションもあります https://superuser.com/questions/93437/aptitude-vs-apt- StackExchangeのget-which-is-the-recommended-aka-the-right-tool-to-use 。
Apt-getとaptitudeはどちらもAPTライブラリに依存しています。そうです。
私の serverfault.comの答え を見てください。
Debianはモノリシックなエンティティではなく、意見が異なる人々がいます。aptitudeのメンテナは、apt-getにいくつかの欠点があり、aptitudeでより良いものを構築したいと考えました。彼はロジックを改善して、複雑なアップグレードシナリオの解決策を見つけ、コンソールのGUIを追加しました。そして、apt-getとaptitudeだけではありません。私の記事を参照してください apt-get、aptitude、…適切なパッケージを選択してくださいあなたのためのマネージャー 。