両方のapt-get
およびaptitude
はDebianから派生したLinuxのコマンドラインパッケージ管理インターフェイスであり、さまざまなオプションがありますが、それでも多少混乱しています。内部的には、同じAPTシステムを使用していませんか?
Debianがこれらの並列ツールを維持しているのはなぜですか? (ボーナス質問:wajigとは一体何ですか?)
承認された回答:
最も明らかな違いは、aptitude
apt-get
に対して、ターミナルメニューインターフェイス(ターミナルのSynapticによく似ています)を提供します しません。
それぞれのコマンドラインインターフェイスのみを考慮すると、それらは非常によく似ており、ほとんどの場合、どちらを使用してもかまいません。両方の最近のバージョンは、手動でインストールされたパッケージと、依存関係としてインストールされた(したがって、自動削除の対象となる)パッケージを追跡します。実際、最近では、2つのツールが更新され、手動でインストールされたパッケージと自動でインストールされたパッケージの同じデータベースを実際に共有するようになりました。そのため、apt-getを使用して何かをインストールした後、aptitudeがそれをアンインストールしたい場合はほとんどが過去。
いくつかの小さな違いがあります:
- aptitudeは適格なパッケージを自動的に削除しますが、apt-getはそれを行うために別のコマンドを必要とします
- アップグレードのコマンド 対dist-upgrade おそらくより正確な名前に適切に名前が変更されましたsafe-upgrade および完全アップグレード それぞれ。
- aptitudeは、実際にはapt-getだけでなく、apt-cacheやapt-markなどのコンパニオンツールの機能も実行します。
- aptitudeの検索のクエリ構文は(apt-cacheと比較して)わずかに異なります
- 適性には理由があります および理由 手動でインストールされたを通知するコマンド パッケージが、実行したいアクションを妨げています。
- 実行したいアクション(パッケージのインストール、削除、更新)によって競合が発生する場合、aptitudeはいくつかの潜在的な解決策を提案できます。 apt-getは、「申し訳ありませんが、デイブ、それを許可することはできません」とだけ表示します。
他にも小さな違いがありますが、それらは私が考えることができる最も重要なものです。
つまり、aptitudeは、Synapticやその他の高レベルのパッケージマネージャーフロントエンドのカテゴリに適切に属します。たまたま、apt-getに似たコマンドラインインターフェイスもあります。
ボーナスラウンド:wajigとは何ですか?
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
。