「dpkg -i」と「apt-get install」の違い


16

他のすべてのQ&A(dpkgとaptitude / apt-getの違いは何ですか?)から、それapt-getdpkg依存関係管理のラッパーであり、依存関係管理を提供することを理解しています。

依存関係のない(または同時にインストールされる)ものをインストールすると仮定すると、apt-getvsdpkg

例(私が探しているちょっとした具体的な違い)

  • dpkgどこかからpkgをダウンロードできないと言います。インストールを開始する前にダウンロードする必要がありますapt-getが、私の代わりにこれを行います。
  • dpkgpkgを構成せず、ファイルのみをコピーします。apt-get構成もします。

...

回答:


16

dpkg -i*.debパッケージをインストールします。つまり、既にどこかからダウンロードしたパッケージをインストールします。また、それらを構成しますが、依存関係をダウンロード/インストールしません。どこかから手動でバイナリパッケージファイルをダウンロードする必要があります。また、サードパーティのパッケージは本質的に悪意のある可能性があるため、ディストリビューションがデフォルトでインクルード/有効にしたリポジトリではない場所からパッケージをダウンロードする際に危険がある場合があります。


apt-get/aptitude install 有効にしたリポジトリとPPAインデックスに自動的にアクセスし、最適な候補を検索し、それとそのすべての依存関係をダウンロードし、それらを自動的にインストールして構成します。

を使用してapt-get install -f、不足しているパッケージの依存関係を自動的にインストールできますdpkg -i


5
ここでの簡単なメモは、でapt-getインストールされたパッケージから依存関係をインストールできますdpkg -i。それを実行apt-get install -fするために実行します。
noirscape

1
@ Ev1l0rd正解、それを答えに追加しました。
バイトコマンダー

2
もう1つの重要な違い、apt-getまたはor を使用する場合はaptitude、パッケージが手動でインストールされたか(具体的には要求されたか)、依存関係を満たすためにインストールされたかどうかを覚えていることです。こうすることで、後でパッケージを削除するときに、「自動的にインストールされて不要になった」パッケージを自動的に削除(または少なくとも通知)することができます。各パッケージをインストールした場合dpkg、パッケージだけでなく、その依存関係をすべて覚えて、手動で削除する必要があります(他に何も依存していないと仮定)。
ベンジャミンスタトン

1
@BenjaminStatonさて、dpkg -i依存関係は気にしないので、それとともにインストールされるものはすべて「手動」でインストールされます。
バイトコマンダー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.