“ apt-get ”と“ aptitude ? (“ wajig ”はどうですか?)

わかっていますapt-getaptitudeはどちらもDebian派生Linuxのコマンドラインパッケージ管理インターフェイスであり、オプションは異なりますが、それでも多少混乱しています。内部的には、同じAPTシステムを使用していませんか?

Debianがこれらの並列ツールを維持しているのはなぜですか? (ボーナス質問: wajig とは一体何ですか?)

コメント

  • 私はあなたの質問に対する正しい答えではないことを知っていますが、なぜあなたはシナプスを試すことができないのですか?その非常にユーザーは気さくで、依存関係を自動的にダウンロードしてインストールします。 gnomeがシステムに存在しませんか?
  • ‘偏っていますが、この質問はUbuntuSEサイトが関連している可能性があります。
  • 重複: unix.stackexchange.com/questions/244/apt-get-or-aptitude
  • @Wimこの質問のwajig部分のため、私は244をこの質問にマージすることにしました。その逆ではありません
  • 適性が予定されていることは注目に値します。次のバージョンのUbuntuでデフォルトのインストールから削除するため(後でapt-getを使用していつでもインストールできます)

回答

最も明らかな違いは、aptitudeがターミナルメニューインターフェイス(ターミナルのSynapticによく似ている)を提供するのに対し、apt-getはそうではありません。

それぞれのコマンドラインインターフェイスのみを考慮すると、それらは非常に似ており、ほとんどの場合、どちらを使用してもかまいません。両方の最近のバージョンは、手動でインストールされたパッケージと、依存関係としてインストールされた(したがって、自動削除の対象となる)パッケージを追跡します。実際、さらに最近では、2つのツールが更新され、手動でインストールされたパッケージと自動でインストールされたパッケージの同じデータベースを実際に共有するようになりました。そのため、apt-getを使用して何かをインストールした後、aptitudeがそれをアンインストールしたい場合はほとんどが過去。

いくつかの小さな違いがあります:

  • aptitudeは適格なパッケージを自動的に削除しますが、apt-getはそれを行うために別のコマンドを必要とします
  • upgrade dist-upgrade のコマンドは、おそらくより正確な名前 safe-upgrade full-upgradeに適切に名前が変更されました。それぞれ
  • aptitudeは、実際にはapt-getだけでなく、apt-cacheやapt-markなどのコンパニオンツールの機能も実行します。
  • aptitudeの検索クエリ構文は(apt-cacheと比較して)わずかに異なります
  • aptitudeには why コマンドと why-not コマンドがあります。どの手動でインストールされたパッケージが、実行したいアクションを妨げています。
  • 実行したいアクション(パッケージのインストール、削除、更新)が競合を引き起こす場合、aptitudeはいくつかの潜在的な解決策を提案します。 apt-getは、「申し訳ありませんが、デイブ、それを許可することはできません」とだけ表示します。

他にも小さな違いがありますが、それらは私にとって最も重要な違いです。

要するに、aptitudeは、Synapticやその他の高レベルのパッケージマネージャーフロントエンドのカテゴリに適切に属します。たまたまapt-getに似たコマンドラインインターフェースもあります。

ボーナスラウンド:wajigとは何ですか?

apt-のような「コンパニオン」ツールについて説明したことを覚えておいてください。キャッシュとapt-mark?ええと、それらはたくさんあります。それらを頻繁に使用すると、どのコマンドがどのコマンドを提供するか覚えていない可能性があります。wajigは、その問題の1つの解決策です。これは、本質的にディスパッチャであり、これらすべてのツールのラッパーです。必要に応じてsudoも適用します。wajig install fooと言うと、wajigは「わかりました。installapt-getであり、管理者権限が必要です。」と実行され、sudo apt-get install fooが実行されます。wajig search fooと言うと、wajigは「OK、searchapt-cacheによって提供され、管理者権限は必要ありません。 “apt-cache search fooを実行します。 apt-get、apt-mark、apt-cacheなどの代わりにwajigを使用すると、「この問題が発生することはありません:

$ apt-get search foo E: Invalid operation search 

必要に応じてwajigが舞台裏で何をしているのか、特定のコマンドを実装するためにどのツールを使用しているのかを知っている、それは--simulate--teaching mを持っていますodes。

私がよく使用する2つのwajigコマンドはwajig listfiles foowajig whichpkg /usr/bin/fooです。

コメント

  • aptitudeで発生した大きな問題の1つは、パッケージ名のタブ補完を取得するのに長い時間がかかることです(例:aptitude install linux-imタブ)、apt-getでは非常に高速です。 apt-getファミリーには、適性に欠けるキャッシュが存在するようです。
  • aptitudeにもすばらしいaptitude searchこれは 非常に強力な検索パターン で使用できます。 aptitude reinstallがあります。 ncurses(ターミナルメニュー)インターフェースを使用して、部分的なアップグレード、1つのパッケージの削除、別のパッケージのフリーズ、このパッケージのアップグレードなどの複雑なパッケージ操作の準備を行うこともできます。これにより、 1回で実行できます。操作 …ああ、それはインタラクティブな競合解決策を持っています。
  • @Totor holy cow、using aptitude ‘コマンドを準備するためのncursesインターフェースは、私を適性で完全に売りました! (適性を何年も考えた後はやる価値がありますが、apt-getを筋肉の記憶から入力します)
  • …そしてaptitudeにもaptitude download package-nameパッケージの.debファイルを取得します!
  • ‘私が見つけたのは tはaptitudeにありますが、apt-getにあり、それはapt-get --compile source package-nameです。 。 apt-get build-dep package-nameは存在しますが、aptitude build-dep package-nameの方がうまくいくと思います。

回答

私はよく自分自身に疑問を抱きました。ウィキペディアのハイライト主な特徴は適性にフルスクリーンのテキストモード(curses)インターフェイス。ほとんどのapt-getコマンド引数をaptitude自体で使用できるという事実は、単なる設計上の決定です。 apt-getユーザーがaptitudeに移動したりその逆を行ったりするのを簡単にするため。

使用したことがないwajigですが、ドキュメントによると、これはdebファイル(実行時)を渡すかどうかを認識する単なるスクリプトであるとされています。 dpkg)またはaptパッケージ名(代わりにapt-getを実行する場合)。試してみて、それが何をするのか見てみませんか?

もちろん、実際の違いは次のとおりです。

gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program. 

コメント

  • いいえ! aptitudeにはさらに多くのものがあります。無限の-vフラグをmooに配置するのを忘れました。 (-vvvvvvまで行くことができます)
  • ‘すべての重要なスーパーカウパワーを忘れないでくださいapt-getにはありますが、aptitudeにはありません。 (両方で--helpを試してください)
  • lmao。 @ryan ‘の答えははるかに複雑ですが、読むのは楽しい答えです;)

答え

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を使用してemacsをインストールし、見ずにgdmを削除しました。したがって、今のところapt-getを使用しますが、適性に非常に興味があります。

回答

aptitudeは、明示的に要求されたパッケージと、依存関係のためにのみインストールされたパッケージを記憶しています。明示的に要求されなくなったパッケージは、不要になったときに自動的にアンインストールされます。

apt-getは、明示的に要求されたパッケージとその依存関係を同じように扱います。

aptitudeを使用すると、システムをクリーンに保つことができます。

コメント

  • これは以前は真実でしたが、私のapt-getには、依存関係としてのみインストールされたパッケージを削除するためのapt-get autoremoveコマンドがあることを知っています。 ‘この機能がいつ追加されたかはわかりませんが、あるWebサイトでは、Debian Lenny(2010年6月)で発生した可能性があると示唆されています。
  • apt-get autoremoveは依存関係としてのみインストールされたパッケージを削除しません’孤立した依存関係を削除しますが、これは微妙な違いです; ‘ ‘ leaf ‘パッケージが意図的にインストールされたかどうかを判断できません依存関係があるため、aptitudeが認識して削除する場所に残します。
  • ‘販売されました! 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 Webサイト: 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にはmucがありますhコマンドラインインターフェイスの方が使いやすいです。

内部では、同じAPTシステムを使用していませんか?はい。

基盤となるシステムはaptだけでなく、dpkg。このシステムはRPMと同じくらい馬鹿げており、単一のパッケージのインストールと管理しか処理できません。どのインストール済みファイルがどのパッケージに属しているかを追跡します。

aptは、すべての個々のパッケージのリポジトリのダウンロード、依存関係の追跡などを処理します。 dpkgを使用してインストールします。 aptitudeは同じことを行いますが、インターフェースが異なります。

回答

両方ともapt -getとaptitudeはAPTライブラリに依存しています。

serverfault.comで私の回答を参照してください

Debianはモノリシックなエンティティではなく、さまざまな意見を持つ人々がいて、適性メンテナはapt-getにいくつかの欠点があると判断し、aptitudeでより良いものを構築したいと考えました。彼は、複雑なアップグレードシナリオの解決策を見つけるためにロジックを改善し、コンソール用のGUIを追加しました。そして、apt-getとaptitudeだけではありません。私の記事 aptを参照してください。 -get、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 From:Joey Hess

apt-getやdselectの代わりにaptitudeを使用する必要がある9つの理由。

  1. aptitudeはapt-getのように見える可能性があります

    「aptitudeupdate」、「aptitude upgrade」、「aptitude install」を実行すると、いくつかの機能強化が加えられ、apt-getと同じように表示および動作します。したがって、学習曲線はありません。

    (dselectユーザーの場合、学習曲線は明らかに問題の1つではありません。)

  2. 適性トラック自動的にインストールされたパッケージ

    システムから未使用のライブラリとサポートパッケージを削除する心配はありません。aptitudeを使用してすべてをインストールすると、依存関係だけでどのパッケージが取り込まれたかが追跡され、それらのパッケージが削除されます。

  3. aptitudeは推奨を適切に処理します

    apt-getの長年の失敗は、推奨関係のサポートの欠如でした。 。これは、Debianの多くのパッケージが、平均的なユーザーがパッケージで一般的に使用するソフトウェアをプルすることを推奨することに依存しているため、問題です。apt-getが最近、少なくとも推奨パッケージについて言及できるようになったとしても、これは珍しい問題の原因ではありません。 、警告を見逃しがちです。

    AptitudeはデフォルトでRecommendedをサポートしており、Suggestsもサポートするように構成できます。コマンドラインモードで使用する場合は、推奨パッケージのインストールもサポートします。

  4. 通常のユーザーとしてaptitudeを使用し、システムを占有しないようにします

    通常のユーザーとしてGUIモードでaptitudeを実行できることを知っています。試してみたい変更を加えてください。あなたが本当の混乱に入った場合、あなたは「q」を押して終了することができます、あなたの変更は保存されません。 (Aptitudeではctrl-uを使用して変更を元に戻すこともできます。)通常のユーザーとして実行されているため、aptitudeに何かを行うように指示するまでシステムをホースで接続できません。指示すると、rootパスワードの入力を求められます。

  5. aptitudeには強力なUIと検索機能があります

    aptitudeのカテゴリブラウザと、muttスタイルのフィルタリングと名前によるパッケージの検索の優れたサポートの間で説明、メンテナ、依存関係など、aptitudeを使用する前にこれまでになく迅速にパッケージを見つけることができるはずです。

  6. aptitudeを使用すると、廃止されたソフトウェアを簡単に追跡できます

    Debianがパッケージの配布を停止した場合、aptは警告やアップグレードを行わずに、パッケージをシステムに無期限に残します。 Aptitudeはそのようなパッケージを「廃止されたローカルで作成されたパッケージ」セクションにリストしているので、問題を通知して何かを行うことができます。

  7. aptitudeにはDebianへのインターフェースがありますタスクシステム

    Aptitudeを使用すると、Debianのタスクシステムを使用するように設計されたとおりに使用できます。使用可能なタスクを参照し、インストールするタスクを選択してから、そのタスクを掘り下げて、の一部を選択解除できます。あなたが望まないタスク。 apt-getはタスクをサポートしておらず、taskselのような特別な目的のツールよりもaptitudeの方が優れています。

  8. aptitudeは複数のソースをサポートします

    ソースの場合。 listは、パッケージの複数のバージョンを使用できるように構成されています。aptitudeを使用すると、ドリルダウンして使用可能なバージョンを確認し、デフォルト以外のバージョンを選択してインストールできます。パッケージが不安定な状態で壊れた場合は、テストでバージョンにロールバックするだけです。

  9. aptitudeはそのアクションをログに記録します

    Aptitudeはインストール、アップグレード、 / varlog / aptitudeに削除します。これは、昨日のアップグレード後、またはpartiticlarパッケージを削除したときに問題が発生し始めた理由を解明するのに役立ちます。

-恥ずかしがり屋のジョーを参照

=================== 2010年からの新しい議論もここにあります StackExchangeのhttps://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です