如何通过apt-get install实际安装软件包?

当使用apt-get install方法将软件包安装到ubuntu上时,获取该软件包的源代码与从头构建它是否有任何根本区别? apt-get installfunction是否只是下载源代码并将其在您的机器上构建到指定的目录,还是在幕后更多?

最后(也许这没有答案)是一种比另一种方法更好的方法? 我在这里的目标是从源代码中自己构建它有什么优势,还是让apt-get做它的事情更好?

apt,yum,pacman,emerge等包管理系统的优点包括:

  • 可以轻松查询已安装或可用的软件包版本。
  • 完全删除一个包很容易,确保它的所有文件都没有了。
  • validation包文件的完整性很容易,因此您可以查看它是否已损坏或被篡改。
  • 通过安装新版本并删除所有旧版本文件,可以轻松升级软件包。 这将确保不会从旧包中留下任何遗留的文件来混淆或破坏事物。
  • 很容易看出哪些包需要或提供其他包提供或需要的东西,因此您可以确保包中所需的项目能够正常运行。
  • 安装或删除软件包组很容易。
  • 在许多情况下,可以降级回包的先前版本,例如当新版本有错误时。

虽然它适用于Fedora,但另请参阅:

https://fedoraproject.org/wiki/Package_management_system

从源安装可能有优势

  • 您可以自定义二进制文件(启用/禁用选项)
  • 然后可以在存储库中获得更新的软件包
  • 有时需要修复错误

但缺点是,当新版本可用时,您必须手动更新软件包,并且您经常会失去支持。

IMO如果你想编译所有或大部分软件包,我会建议Gentoo。

Apt-get是APT包处理实用程序(CLI),是Synaptic和Aptitude的后端。

从您的系统触发的apt-get方法检查文件中列出的官方源或存储库

etc/apt/sources.list

例如。 在运行sudo apt-get update && sudo apt-get upgrade (我使用) ,运行类似的东西

在此处输入图像描述

其中,链接前面的Ign (忽略)声明自上次访问该存储库后未进行任何更改,并且Get指出Sources文件的检索说明该存储库中新可用包的更改。

不, apt-get实用程序不会下载源文件 ,而是下载由官方Ubuntu打包器打包和发布的.deb软件包 ,该软件包经过了与系统稳定性和集成测试。

可以在中找到apt-get下载的软件包

/var/cache/apt

您可以在其中查看所有Updates.deb软件包 ,您甚至可以通过访问此Precise-updates软件包进行比较以交叉检查其版本。

编译源代码包而言,它是不可取的,甚至不推荐用于Ubuntu 12.04,因为它是LTS版本,你可以在这里查看原因

从源代码编译或从.deb包安装是否更好?

从源代码编译程序会加快我的操作系统吗?

从源代码安装的优点/缺点

有关更多参考资料: apt-get , sources.list 。

如果您从源代码构建,那么您可以在其中包含更多选项。 从apt-get安装只需安装预构建的软件包。

至于哪个更好,这取决于你需要它。 我从来没有需要从源代码编译,但我在我的ubuntu笔记本电脑上没有做任何广泛的事情。

我认为您可以使用apt-get来安装软件包源。

  1. 您需要激活源代码存储库

    打开/etc/apt/sources.list文件,您将看到注释掉的行(以#开头),它们上面有“source”。

    取消注释它们

  2. 安装所需程序的依赖项:

    sudo apt-get build-dep "program"

  3. 下载并编译您的程序:

    sudo apt-get -b source "program"

之后,您将在主目录中获得.deb包。