当前位置: 首页>>技术问答>>正文


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

, , ,

问题描述

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

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

最佳解决办法

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

  • 可以轻松查询已安装或可用的软件包版本。

  • 完全删除一个包很容易,确保它的所有文件都没有了。

  • 验证包文件的完整性很容易,因此您可以查看它是否已损坏或被篡改。

  • 通过安装新版本并删除所有旧版本文件,可以轻松升级软件包。这将确保不会从旧包中留下任何遗留的文件来混淆或破坏事物。

  • 很容易看出哪些包需要或提供其他包提供或需要的东西,因此您可以确保所需的项目使包正常运行。

  • 安装或删除软件包组很容易。

  • 在许多情况下,可以降级回包的先前版本,例如当新版本有错误时。

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

https://fedoraproject.org/wiki/Package_management_system

从源代码安装可能有优势

  • 您可以自定义二进制文件(启用/禁用选项)

  • 然后可以在存储库中获得更新的软件包

  • 有时需要修复错误

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

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

次佳解决办法

Apt-get是APT包处理实用程序(CLI),back-end到SynapticAptitude

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

etc/apt/sources.list

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

apt,compiling,software-installation,ubuntu

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

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

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

/var/cache/apt

在这里您可以看到所有Updates为.deb软件包,您还可以通过访问此Precise-updates packages来比较它们的cross-check。

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

Is it better to compile from source or to install from a .deb package?

Would compiling programs from source speed up my operating system?

Advantages/Disadvantages of installing from source code

如需进一步参考:apt-getsources.list

第三种解决办法

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

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

第四种办法

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

  1. 您需要激活源代码存储库打开/etc/apt/sources.list文件,您将看到注释掉的行(以#开头),它们上面有”source”。取消注释它们

  2. 安装所需程序的依赖项:sudo apt-get build-dep "program"

  3. 下载并编译您的程序:sudo apt-get -b source "program"

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6230.html,未经允许,请勿转载。