当前位置: 首页>>技术教程>>正文


compiling – 如何从源代码构建我所有已安装的软件包?

问题描述

我已经了解了与像 Ubuntu 这样的预构建发行版相比,像 Gentoo 这样的基于源代码的 Linux 发行版如何能够显著提高性能,因为它们从源代码安装并针对您的特定系统进行了优化。是否可以从源代码构建 Ubuntu 以获得同样的好处?

最佳办法

Is is possible to build Ubuntu from source to get the same kind of benefit?

我不确定如果你有相当新的硬件组件会带来什么好处,但是对于问题的“来自源代码的 Ubuntu”部分,答案是肯定的,你不仅可以从源代码构建你最喜欢的应用程序,还可以构建整个操作系统。

方法如下:

您需要安装 apt-build。它是一个类似于 apt-get 的命令行工具,但不是下载和安装二进制包,而是 apt-build 下载包的源代码,编译它,然后将其安装到您的系统中。

安装后

sudo apt-get install apt-build

您将被要求提供优化级别(中等即可),是否要为 APT 创建 apt-build 存储库(是)以及有关处理器架构的问题(我的 intel i7 被认为是 core2 )。当然,所有选项都可以通过这种方式重新配置:

dpkg-reconfigure apt-build

上面的命令为 gcc 编译器和 make builder 提供了两个额外的选项。它们的描述可以在系统手册中找到:man gcc 和 man make。

对于手动和可用的命令选项检查

man apt-build

但最有用的是:

  • apt-build update — 更新 repo 列表,(如 apt-get update)

  • apt-build upgrade — 更新操作系统,(如 apt-get upgrade)

  • apt-build 安装程序 — 安装应用程序,(如 apt-get 安装)

  • apt-build world — hard-core 用户的东西,它重新编译整个系统!

例如:

假设您要编译/安装 Gedit。而不是 apt-get install 你只是做

sudo apt-build install gedit

Apt-build 使用 /etc/apt/sources.list 文件中包含的 deb-src 条目,因此编译和安装过程是全自动的(类似于 Gentoo 中的emerge)。 Apt-build 下载主应用程序及其依赖项的源代码,编译它们,创建一个 deb 包,最后安装该包。

关于 apt-build 世界的一些注释。

我认为不要尝试,除非您有 24 小时或更长时间可用!

如果是这样,您应该首先删除/禁用/卸载任何第三方应用程序(最好在全新安装的 Ubuntu 中执行),然后执行以下操作:

sudo su
dpkg --get-selections | awk '{if ($2 == "install") print $1}'> /etc/apt/apt-build.list
exit

上面的命令会将您的系统包的完整列表复制到 apt-build.list 以便可以从源代码编译它们。打开那个文件

sudo gedit /etc/apt/apt-build.list

并删除任何 GCC/G++ 条目

然后你可以这样做:

sudo apt-build world

我建议添加两个选项——–yes 和–force-yes——以使重建过程完全自动化。

次佳办法

你可以就这类话题展开激烈的争论和激烈的辩论,但让我们看看现实生活。

您的操作系统的速度很大程度上取决于您运行它的硬件,这是主要因素。

我经常更换发行版,而大部分时间都使用 Arch,但是 Arch 比 Ubuntu 快吗?不。

在 Ubuntu 10.10 上带有 compiz 的 Gnome 使用大约 300ram,在 Arch 200ram 上,我有 4gb 的 ram,我不觉得有什么区别,但是如果你将带有 gnome 的 Ubuntu 与 Arch 的真棒进行比较,那么响应能力和资源将会有巨大的提升使用(300ram vs 50ram),但这仅在您为上网本选择发行版时才重要。

因此,如果您有一个快速的桌面并且不想花时间修补您的系统,只需使用 Ubuntu,但如果您有上网本,则可以考虑在 Arch 上使用轻量级 WM 🙂

参考资料

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