![使用 dpkg -i 与 make 安装软件有何不同?](https://linux22.com/image/1012104/%E4%BD%BF%E7%94%A8%20dpkg%20-i%20%E4%B8%8E%20make%20%E5%AE%89%E8%A3%85%E8%BD%AF%E4%BB%B6%E6%9C%89%E4%BD%95%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
我已经看到建议手动安装软件包的这两种方法,但我不知道它们的区别:
dkpg -i <pkg>.deb
和
./configure
make
make install
那么它们有什么不同?前者只是一种“更自动化”的方式,可以做与后者相同的事情吗?还是它们完全不同?
(PS:在这里询问是因为 dpkg 是“debian 包”)。
编辑:读完答案后拉贾·潘迪塔我发现使用 make 需要从源代码编译程序,而 dpkg 只知道如何将编译后的程序组织到不同的目录中。网络上还有另一个问题询问 apt-get 和 dpkg 之间的区别,这显然与这个问题不同。
答案1
dpkg 是 Debian/Ubuntu 或任何衍生发行版上的一个程序,用于安装已打包的应用程序。区别很简单,.deb 文件是应用程序二进制文件的编译包。它具有将不同文件放置在不同目录中的内置逻辑。
例如,应用程序的可执行文件进入 /usr/bin,但这里要注意的是 .deb 是一个包含已编译软件的打包二进制文件。您看不到源代码,因此许多公司倾向于以 .deb/.rpm 格式发布其专有软件。Insync 就是这样一个例子,另一个是 Crossover for Linux。这两个都是专有的,但以 .deb 或 .rpm 文件的形式分发。
以下是要点。
dpkg-i 命令
意味着您正在安装一个已编译和打包的应用程序,以便在任何使用 .deb 格式安装包的 Linux 发行版上运行。
和
./配置 制作 制作安装
意味着您拥有要安装的应用程序的源代码。您现在使用系统上的编译器(configure,然后是 make.)而不是包管理器来手动编译。然后 make install 命令将在系统上安装软件。无论您在哪个发行版上安装,此方法都有效。
答案2
嗯,这两种方法都没有自动更新功能。他们建议添加一个带有 .deb 的 apt 存储库,该存储库由软件包维护者更新。然后,当您进行系统更新时,该程序将与您的其他 .deb 软件包一起更新。dpkg 是 Ubuntu 默认软件包管理器,因为它源自 Debian。整个系统都使用它进行安装。