dpkgとaptitude / apt-getの違いは何ですか?


125

でソフトウェアをインストールする場合dpkg -i packageA.deb、必要な依存関係はpackageA自動的にダウンロードおよびインストールされますか?これはapt-getorの使用とどう違うのaptitudeですか?


関連(特に依存関係に関して):askubuntu.com/q/40779/250300
Melebius

回答:


168

いいえ、dpkg唯一のパッケージがインストールされ、そうするdpkg -i packageName.debだけで、このdebパッケージをインストールし、インストールする必要がある任意の依存関係を通知しますが、それはなりませんそれらをインストールし、それはなりません設定するpackageName.debだけでなく...依存関係があるため、いない。

apt-getDebianベースのLinuxディストリビューションへのDebパッケージのインストールを処理するパッケージ管理システムです。パッケージ管理システムは、パッケージのインストール、削除、変更を簡単に行うのに役立つツールのセットです。だから、賢いのようなものです。apt-getdpkg

私はタイムラインをこのように考えるのが好きです(以下は私が経験から話しているだけです。これはあなたにこの全体のアイデアを与えることだけを意図しています):

  • 彼らは、アプリケーションのファイルを「パッケージ」に「保存」して、簡単にインストールできるようにする方法を考え出しました。そのため、Debパッケージ(.deb拡張ファイル)が生まれました。

    .debファイルには、実行するアプリケーションで必要なファイルだけでなく、含まれている(私はそれを呼びたい)、このような依存関係の名前などの情報を保持している「メタデータ」、アプリケーションのニーズを。.debファイルの内容を表示したい場合は、コマンドを使用できます。dpkg -c packageName.debこの「メタデータ」情報dpkg -I pacakgeName.debを表示したい場合は、コマンドを使用します(依存関係のみを表示したい場合は、do dpkg -I packageName.deb | grep Depends)。

  • 彼らはこれらの.debファイルをインストールするツールを必要としていたので、彼らはdpkgツールを思いついた。ただし、このツールは.debファイルをインストールするだけですが、それらのファイルがなく、依存関係をプルするための「リポジトリ」へのアクセス権がないため、依存関係をインストールしません。

  • 次に、彼らapt-getは、前のポイントの問題を自動化するを思いつきました。ボンネットの下には、apt-get基本的にdpkg(私はそれをapt-getのフロントエンドと考えたいdpkg)が、依存関係を探してインストールする賢いものです。現在インストールされている依存関係も調べて、他のパッケージで使用されていない依存関係を特定し、それらを削除できることを通知します。

aptitudeそれからやってきた。これは、使用するライブラリのapt-get使い方を、実際にインタラクティブなUI(ユーザーインターフェース)を持ちます。このUIを表示する場合は、単にaptitudeターミナルを入力してください。それがあります aptitude。ライブラリを活用して、より多くのオプションと特典を提供しますapt-get。たとえば、aptitude対象のパッケージを自動的に削除しますが、削除apt-getするには別のコマンドが必要です。しかし、最終的には、行うことsudo aptitude install packageName.deb少なくともと同じである必要がありsudo apt-get install packageName.debます。あちこちで微妙な違いがあるかもしれませんが、それらは依存関係を探し、そのすべてを行います。あなたは読むことができ、ここで答えを間の違いについての詳細は、aptitudeapt-get

また、aptitudeスーパーカウパワーはありません。

編集:どうやら、それは。aptitude -v[v[v[v[v]]]] moo

aptitudeデフォルトではインストールされない場合があります。インストールするには、aptitudeを実行sudo apt-get install aptitudeまたはクリックします。aptitudeをインストールする


追加

次の情報は、dpkgとaptitude / apt-getの違いは何ですか?直接答えているわけではありませんが、全体像に貢献しています。


CarlosCampderrósからのコメント ' 以下

gdebi間の混合物の一種である別のツールであるapt-getとはaptitude.debパッケージをインストールするために使用する場合(gdebi packageName.deb)、欠落している依存関係を特定し、を使用してインストールし、apt-get最後にを使用してパッケージをインストールおよび構成しますdpkg。それも、持っているあなたに情報提供し、シンプルできちんとしたGUIについての.debパッケージは、パッケージに含まれるファイル、およびどのような依存関係をインストールする必要があります。このGUIを表示するには、次のようにしますgdebi-gtk packageName.deb。あなたは与えることができgdebiて、それをインストールすることで、試してsudo apt-get install gdebiか、このクリック:のgdebiをgdebiをインストールする


私は誰も混乱させたくありませんが、写真の別の部分を示すために、RPMと呼ばれる別の一般的なLinuxパッケージ形式があり、そのファイルには.rpm拡張子が付いています。このパッケージ形式は、RPMベースの Linuxディストリビューション(Red Hat、CentOS、Fedoraなど)で使用されます。彼らはコマンドrpmを使用してパッケージをインストールyumし、それのフロントエンドであり、それは賢いものです。したがって、それらの.rpmファイルは私たちの.debファイルであり、それらのrpmツールは私たちのdpkgツールであり、それらyumは私たちのツールですapt-get

Paddy Landauコメントから:

alien間で変換するツールである.rpm.debのパッケージ。したがって、.rpmパッケージがある状況に陥り、Ubuntu(または他のDebianベースのディストリビューション)にインストールしたい場合は、コマンドalien rpm_packageName.rpmを使用してパッケージをに変換し.deb、を使用してインストールできdpkgます。あなたは、(変換の逆を行うことができます.deb.rpm使用します)alien -r packageName.deb


5
それは非常に便利で、まさに私が探していたものでした。Tx!
アニケットタクール

4
また、/ を混在させるgdebiapt-get install gdebi-core)を使用できます。を呼び出すと、その依存関係を分析し、不足しているものをインストールするために呼び出し、すべての依存関係が満たされたときに呼び出し、最後にパッケージをインストールするために呼び出します。apt-getaptitudedpkggdebi some_package.debapt-getdpkg
カルロスキャンデロス

2
@Alaa Extraの下で、とのalien.rpmでパッケージを変換することを言及することもできます.deb。これはRPMで利用可能なパッケージには便利ですが、DEB(またはその逆)では利用できません。たとえばalien packagename.rpm、Ubuntuで使用できるようにします。
水田ランダウ

1
@AlaaAliはのaptitudeフロントエンドではありませんapt-get両方のプログラムは、libapt-pkgライブラリのフロントエンドです。
エリアケイガン14年

1
@edwardtorvalds AskUbuntuは質疑応答サイトです。何千もの古い質問からサイトであなたの答えをここで検索してください。それが見つからない場合は、あなた自身の質問をしてください。
アラーアリ

5

apt-get

パッケージ管理apt-getは、/etc/apt/sources.listファイルと連動して実行されます。

apt-get install <package_name> 新しいパッケージをコンピューターにインストールします。

apt-get build-dep <package_name> このコマンドは、リポジトリを検索し、ビルドの依存関係をインストールします。パッケージがリポジトリにない場合、エラーが返されます。

apt-get install <package1_name> <package2_name> <package3_name> apt-getでは、複数のパッケージをインストールできます。パッケージをスペースで区切ります。

auto-apt run <command_string> auto-aptコマンドは、呼び出されると、ファイルアクセスが失われるとパッケージを自動的にインストールします。プログラムがアンインストールされたパッケージに属することが知られているファイルにアクセスしようとすると、auto-aptはを使用してそのパッケージをインストールしますapt-get。この機能を使用するには、aptとsudoが必要です。

apt-getの指示ページにアクセスします

適性

aptitudeの機能dselectapt-get、どちらのプログラムにも見られない多くの追加機能を提供します。

aptitude キーボードまたはマウスをアクティブにしてターミナルウィンドウで実行する独自のシェルを持っている

aptitude build-dep <package> -パッケージのビルド依存関係をインストールします-これは、ソースパッケージをコンパイル(またはビルド)するために必要なパッケージを意味します。たとえば、多くのパッケージはビルドする必要があるdebhelperautotools、ビルドする必要がありますが、実行する必要はありません。

aptitudeの指示ページをご覧ください

dpkg

Debianパッケージをインストール、ビルド、削除、管理するツールです。リンク

dpkg -i <package.deb>Debianパッケージをコンピューターにインストールします。ヘルプファイルから確認できる限り、依存関係はインストールされません。

詳細についてはdpkg --help、ターミナルウィンドウに入力します。

ガイド

ファイル管理のガイドはこちらにあります


0

最も重要なことと、違いは、apt-getツールを使用してパッケージをインストールする必要があることです。(aptまたはaptitude同様に大丈夫です)。

これは、dpkg依存パッケージをインストールせずにパッケージをインストールすることを意図しているためです。そのため、でパッケージをインストールするだけでdpkg、後の問題につながり、依存関係の解決でシステムが破損する可能性があります。

コマンドラインapt-getまたはapt(14.04以降)ツールを使用してパッケージをインストールする必要があります。これらのツールはdpkgあなたのために使用していると同時に、内部に依存関係解決メカニズムを持っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.