`dpkg -i` 和 `apt-get install` 之间的区别

Kas*_*yap 18 package-management apt dpkg

从所有其他问答(例如:dpkg 和 aptitude/apt-get 之间有什么区别?)我知道这apt-get是一个包装器dpkg并提供依赖项管理。

假设我正在安装没有任何依赖项的东西(或者它们也同时安装),使用apt-getvs安装它会有什么区别吗?dpkg

例如(我正在寻找的具体差异)

  • dpkg不能从某个地方下载 pkg,我必须在开始安装之前下载,而apt-get我会代表我这样做。
  • dpkg不会配置 pkg,它只会复制文件。apt-get也会配置。

...

Byt*_*der 19

dpkg -i安装*.deb包,也就是说你已经从某个地方下载的包。它还配置它们,但不下载/安装依赖项。您需要从某处手动下载二进制包文件。从不是您的发行版默认包含/启用的存储库的位置下载包也可能存在危险,因为第三方包本质上可能是恶意的。


apt-get/aptitude install 自动访问您启用的存储库和 PPA 索引,搜索最佳候选者,下载它及其所有依赖项并自动安装和配置它们。

使用apt-get install -f,您可以自动安装缺少的软件包依赖项,例如通过dpkg -i.

  • 在这里快速说明一下,`apt-get` 可以从使用 `dpkg -i` 安装的软件包中安装依赖项。运行 `apt-get install -f` 来完成。 (5认同)
  • 另一个重要的区别,以及使用 `apt-get` 或 `aptitude` 的一个例子,是它们记住一个包是手动安装的(特别请求),还是它是为了满足依赖关系而安装的。这样,当您稍后删除软件包时,他们能够自动删除(或至少告诉您)“自动安装且不再需要”的软件包。如果你用 `dpkg` 安装了每个包,那么你不仅要记住并手动删除你的包,还要删除它的所有依赖项(假设没有其他依赖项)。 (3认同)