解決策 1:
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 <[email protected]>
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.
解決策 2:
[email protected] ~$ aptitude -h | tail -n 1
This aptitude does not have Super Cow Powers.
[email protected] ~$ apt-get -h | tail -n 1
This APT has Super Cow Powers.
[email protected] ~$ aptitude moo
There are no Easter Eggs in this program.
[email protected] ~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"...
[email protected] ~$ aptitude -v moo
There really are no Easter Eggs in this program.
[email protected] ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
[email protected] ~$ aptitude -vvv moo
Stop it!
[email protected] ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
[email protected] ~$ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
[email protected] ~$ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
解決策 3:
Debian インストーラ内で現在使用されており、リリース ノートで推奨されている公式ツール aptitude
です .
Aptitude は、curses インターフェース (パラメーターなしで実行した場合) と、apt-cache
のほぼすべてを実行できるコマンドライン インターフェースを提供します。 /apt-get
します。また、複数のソリューション間を参照できる、より優れた依存関係リゾルバーも備えています。コマンド ライン バージョンを使用している場合でも、提案されたソリューションとやり取りして、補足的な命令やヒントを与えることができます (別のパッケージが推奨するパッケージをインストールまたは削除するなど)。
しかし、aptitude は libapt ライブラリ (dpkg の直接ラッパーではない) に基づいているため、apt
に依存しています。 そのため、apt-get なしで aptitude をインストールすることはできません (これも apt パッケージに含まれています)。
$ 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, … pick the right package manager for you
を読むこともできます。解決策 4:
aptitude
は、意図的にインストールしたパッケージと、依存関係を満たすために自動的にインストールされたパッケージを記憶しています。パッケージを削除すると、aptitude は自動的にインストールされたパッケージを削除して、システムを整理します。 apt-get
そんなに賢くないですか。
aptitude
パッケージの異なるバージョンで異なるリポジトリを使用すると、すぐに不可欠なツールになります。 backports.org で作業していると想像してください。 または debian-multimedia.org のような非公式リポジトリ .次に aptitude
(特定のパッケージの詳細ページの下部に) 利用可能なバージョン番号が表示され、いずれかを選択できます。
このような非公式リポジトリの使用によりプログラムが競合する状況に陥った場合、「Broken:...」 が表示されます。 上に表示します。 l~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)
解決策 5:
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
のようないくつかの追加機能があります パッケージの保持 (アップグレードを停止するため) など - 他のコマンド/方法で達成できなかったものはありません。より統一されていて使いやすいです。