回答:
aptitudeは、apt-get / apt-cacheと同様にdpkgのラッパーですが、検索/インストール/削除/クエリのためのワンストップショップツールです。aptが提供しないいくつかの例:
$ aptitude why libc6
i w64codecs Depends libc6 (>= 2.3.2)
$ aptitude why-not libc6
Unable to find a reason to remove libc6.
$ aptitude show libc6
Package: libc6
State: installed
Automatically installed: no
Version: 2.9-4ubuntu6
Priority: required
Section: libs
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 12.1M
Depends: libgcc1, findutils (>= 4.4.0-2ubuntu2)
Suggests: locales, glibc-doc
Conflicts: libterm-readline-gnu-perl (< 1.15-2),
tzdata (< 2007k-1), tzdata-etch, nscd (< 2.9)
Replaces: belocs-locales-bin
Provides: glibc-2.9-1
Description: GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs
on the system. This package includes shared versions of the standard
C library and the standard math library, as well as many others.
aptitude
最新でもapt
できないことを知っている他のトリック:名前または説明がインストールされているaptitude search '~i linux'
パッケージを検索しますlinux
。aptitude search '~o'
廃止されたパッケージ(リポジトリで提供されなくなったインストール済みパッケージ)をリストします。aptitude search '!~M ~i'
自動的にインストール済みとしてマークされていないパッケージを表示します。aptitude search '~i lib.*-dev'
インストールされた開発用ライブラリを示し、あなたは置き換えることができsearch
てmarkauto
かunmarkauto
のように、自動または手動でインストールこれらのパッケージをマークします。
mikeage@linode ~$ aptitude -h | tail -n 1
This aptitude does not have Super Cow Powers.
mikeage@linode ~$ apt-get -h | tail -n 1
This APT has Super Cow Powers.
mikeage@linode ~$ aptitude moo
There are no Easter Eggs in this program.
mikeage@linode ~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
mikeage@linode ~$ aptitude -v moo
There really are no Easter Eggs in this program.
mikeage@linode ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
mikeage@linode ~$ aptitude -vvv moo
Stop it!
mikeage@linode ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
mikeage@linode ~$ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
mikeage@linode ~$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
現在、Debianインストーラー内で使用され、リリースノートで推奨されている公式ツールはaptitude
です。
適性は、(任意のパラメータなしで実行)のcursesインタフェースとほとんどすべて行うことができますコマンドラインインターフェイス提供していますapt-cache
/はapt-get
ありませんが。また、複数のソリューション間を参照できる優れた依存関係リゾルバーも備えています。コマンドラインバージョンを使用している場合でも、提案されたソリューションと対話して、補足的な注文やヒントを提供できます(別のパッケージが推奨するパッケージのインストールや削除など)。
しかし、aptitudeはlibaptライブラリ(dpkgの直接ラッパーではない)に基づいているapt
ため、パッケージに依存するため、apt-get(aptパッケージにもあります)なしでaptitudeをインストールすることはできません。
$ dpkg --status aptitude| grep Depends
Depends: libapt-pkg-libc6.9-6-4.7, [...]
$ dpkg --status apt|grep Provides
Provides: libapt-pkg-libc6.9-6-4.7
$ dpkg --search /usr/lib/libapt-pkg-libc6.9-6.so.4.7 /usr/bin/apt-get
apt: /usr/lib/libapt-pkg-libc6.9-6.so.4.7
apt: /usr/bin/apt-get
apt / dpkg / aptitudeの相互作用の詳細については、Daniel Burrows(aptitudeの主要著者)が作成した図を確認できます。別の図は、さまざまなパッケージ管理ツールによって保存された情報を示しています。aptおよびdpkg状態ファイルのマップ。
私の記事apt-get、aptitudeを読むこともできます...あなたにぴったりのパッケージマネージャーを選択してください
aptitude
意図的にインストールしたパッケージと、依存関係を満たすために自動的にインストールされたパッケージを記憶しています。パッケージを削除すると、aptitudeは自動的にインストールされたパッケージを削除して、システムを整頓します。apt-get
賢くありません。
aptitude
パッケージの異なるバージョンで異なるリポジトリを使用すると、すぐに不可欠なツールになります。backports.orgまたはdebian-multimedia.orgのような非公式リポジトリで作業していると想像してください。次にaptitude
、使用可能なバージョン番号が(特定のパッケージの詳細ページの下部に)表示され、選択できます。
このような非公式リポジトリの使用によりプログラムが競合する状況に陥ると、上部に「Broken:...」と表示されます。あなたは入力できリットル〜B(上限/旗/壊れた)とそれだけ互いに競合するパッケージのリストを取得します。手動で競合を簡単に解決できます。
さらに、「l
」を使用してパッケージリストを制限できます。「openoffice」で始まり、「」を押して「l
」と入力^openoffice
するパッケージ(正規表現)を検索すると、それらのパッケージだけが表示されます。メニューから「フラットパッケージリスト」を選択すると、すぐに目標を達成できます。
完全なハンドブックは非常に大きく、より多くのフィルターと可能性を提供します。それらaptitude
が便利な代替品であることを知らなくても、次のapt-get
ような一般的なパラメータで使用できます。
aptitude install ... (install or upgrade a package)
aptitude remove ... (remove the binary portions of a package but preserve your /etc configuration)
aptitude purge ... (remove the package completely including your configuration)
apt-get autoremove
ますが、現在は削除されたパッケージの依存関係としてインストールされたパッケージを削除します。
apt
、それはその原料の混合を行うことができますapt-get
し、apt-cache
実行するために使用。たとえば、名前または説明にapt search foo
含まfoo
れるパッケージをリストします。利用可能な場合にapt install foo
呼び出されるパッケージをインストールし、現在インストールされているバージョンとpackageの利用可能なすべてのバージョンを一覧表示します。foo
apt policy foo
foo
aptitude
でもそれ以上のことができますが、多くの場合apt
、プレーンのapt
方がはるかに高速です。
aptitude
引数なしで実行すると、きれいなコンソールUIが提供されるほか、さまざまなapt-*
コマンド(およびdselect
)が1つのユーティリティに結合されます。
apt-getを使用してパッケージを検索してインストールするには:
apt-cache search somepkg
apt-get install somepkg
..しかしaptitudeでは同じコマンドです:
aptitude search somepkg
aptitude install somepkg
aptitude
aptitude changelog somepkg
パッケージの保持(アップグレードの停止)などの追加機能があります-他のコマンド/メソッドでは達成できなかったもので、より統一されていて使いやすいです。
他のパッケージ(依存関係)が必要な場合、パッケージをインストールするときに知っているように、それらもダウンロードおよびインストールされます。aptitudeはインストール時に、インストールされたパッケージに付属するパッケージを追跡するため、後者のaptitudeを削除すると、他の(現在は使用されていない)「孤立」依存関係の削除を要求されます。「main」パッケージを削除すると、apt-getはそれらをシステムに静かに保持します。
最新バージョンのapt-getにも同様の機能があるようです:http : //www.psychocats.net/ubuntu/aptitude
aptitude
またはapt
、実際には、特定のパッケージの依存関係としてインストールされたパッケージのリストを保持しません。パッケージが手動または自動でインストールされたかどうかを単に追跡します。また、パッケージが自動的にインストール済みとしてマークされ、他のパッケージが依存または推奨しない場合、apt autoremove
またはで削除されaptitude dist-upgrade
ます。