dpkg -i packageA.deb
を介してソフトウェアをインストールする場合、packageA
に必要な依存関係は自動的にダウンロードおよびインストールされますか?これは、apt-get
またはaptitude
を使用することとどのように違いますか?
いいえ、dpkg
はパッケージのみをインストールするため、dpkg -i packageName.deb
を実行するとこのDebパッケージのみがインストールされ、インストールが必要な依存関係があれば通知されますが、notそれらをインストールすると、notがpackageName.deb
を構成します。
apt-get
は パッケージ管理システム で、Debパッケージのインストールを DebianベースのLinuxディストリビューション で処理します。パッケージ管理システムは、パッケージのインストール、削除、変更を簡単に行うのに役立つツールのセットです。 apt-get
は、賢いdpkg
のようなものです。
私はタイムラインをこのように考えるのが好きです(以下は私が経験から話しているだけです。これはあなたにこの全体のアイデアを与えることを意図しています):
彼らは、アプリケーションのファイルを「パッケージ」に「格納」して、簡単にインストールできるようにする方法を考え出しました。そのため、Debパッケージ( .deb
拡張ファイル )が生まれました。
.deb
ファイルには、アプリケーションの実行に必要なファイルと、(それを呼び出すのが好きです)「メタデータ」が含まれます。アプリケーションが必要とする依存関係。.deb
ファイルの内容を表示する場合は、コマンドdpkg -c packageName.deb
を使用できます。この「メタデータ」情報を表示する場合は、コマンドdpkg -I pacakgeName.deb
を使用します(依存関係のみを表示する場合は、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
と同じである必要があります。あちこちで微妙な違いがあるかもしれませんが、それらは依存関係を探し、そのすべてを行います。 aptitude
とapt-get
の違いの詳細については、 こちらの回答 をご覧ください。
また、aptitude
にはSuper Cow Powersがありません。
編集:どうやら、それは。
aptitude -v[v[v[v[v]]]] moo
。
aptitude
はデフォルトではインストールされない場合があります。それをインストールするには、Sudo apt-get install aptitude
を実行するか、これをクリックします。 aptitude 。
次の情報は、「 dpkgとaptitude/apt-getの違いは何ですか?」とは直接答えていませんが、全体像に貢献しています。
From CarlosCampderrós ' 以下のコメント :
gdebi
は、apt-get
とaptitude
を組み合わせた別のツールです。これを使用して.deb
パッケージ(gdebi packageName.deb
)をインストールすると、欠落している依存関係を識別し、apt-get
を使用してそれらをインストールし、最後にdpkg
を使用してパッケージをインストールおよび構成します。さらに、.deb
パッケージ、パッケージに含まれるファイル、およびインストールする必要のある依存関係について 情報を提供するシンプルで洗練されたGUI があります。このGUIを表示するには、gdebi-gtk packageName.deb
を実行します。 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 Landa の 下のコメント から:
alien
は、.rpm
パッケージと.deb
パッケージを変換するツールです。したがって、.rpm
パッケージがあり、Ubuntu(または他のDebianベースのディストリビューション)にインストールしたい状況に陥った場合、コマンドalien rpm_packageName.rpm
を使用して.deb
に変換してからインストールできます。 dpkg
を使用します。 .deb
を使用して、逆(.rpm
をalien -r packageName.deb
に変換)を行うことができます。
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が必要です。
aptitude
は、dselect
およびapt-get
の機能と、どちらのプログラムにも見られない多くの追加機能を提供します。
aptitude
には、キーボードまたはマウスをアクティブにしてターミナルウィンドウで実行する独自のシェルがあります
aptitude build-dep <package>
-パッケージのビルド依存関係をインストールします-これは、ソースパッケージのコンパイル(またはbuild)に必要なパッケージを意味します。たとえば、多くのパッケージはdebhelper
またはautotools
をビルドする必要がありますが、実行する必要はありません。
debianパッケージをインストール、ビルド、削除、管理するツールです。 リンク
dpkg -i <package.deb>
は、Debianパッケージをコンピューターにインストールします。ヘルプファイルから確認できる限り、依存関係はインストールされません。
詳細については、dpkg --help
をターミナルウィンドウに入力してください。
ファイル管理のガイドを見つけることができます here
最も重要なことと違いは、パッケージをインストールするためにapt-get
ツールを使用する必要があることです。 (apt
またはaptitude
も同様です)。
これは、dpkg
が依存パッケージをインストールせずにパッケージをインストールすることを意図しているためです。そのため、dpkg
を指定してパッケージをインストールするだけで、依存関係の解決が壊れたシステムになるという後の問題につながる可能性があります。
パッケージをインストールするには、コマンドラインapt-get
またはapt
(14.04以降)ツールを使用する必要があります。これらのツールはdpkg
を使用しており、同時に内部に依存関係解決メカニズムがあります。