如何在 Linux 中从源代码编译和安装软件

您是要修复软件包中的错误,还是只是想修改软件包以满足您的需求?Linux 已为您提供保障。

大多数 Linux 软件包都是免费和开源的,让您可以根据自己的喜好自由定制或修改任何软件。此外,您还可以自由查看 Linux 软件包的源代码,以从其他软件项目中学习良好的架构实践和编码模式。

让我们探索如何在 Linux 上从源代码编译和安装包。

Linux 为您提供了从源代码编译、构建和安装软件所需的所有必要工具。

大多数 Linux 软件是用 C 或 C++ 编程语言编写的,因此,您需要一个 C 或 C++ 编译器。例如,用于构建包的 GNU Compiler Collection (GCC) 和 CMake。

除此之外,您还需要其他包,例如 curl 和 gettext。根据您的 Linux 发行版,您可以在单个命令中安装所需的工具,如下所示。

在基于 Debian 的发行版上,例如 Ubuntu:

sudo apt install libz-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext cmake gcc curl

在 Arch Linux 及其衍生产品上:

sudo pacman -S base-devel

在基于 RPM 的发行版上,例如 Fedora、RHEL 等:

sudo dnf install dh-autoreconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel gcc curl cmake

对于本指南,我们将从源代码安装 Git 包。我们选择 Git 是因为它被软件工程师和开发人员广泛使用。

大多数可以编译的包都可以在相关包的官方网站上找到。您可以使用curl 命令行工具下载源代码文件。或者,您可以使用wget或 GUI。

将源代码下载到 PC 上的 Downloads 文件夹中,然后使用cd 命令切换到 Downloads 目录。

cd ~/Downloads

进入 Downloads 文件夹后,您可以使用 curl 下载 Git 源代码,如下所示。在本指南中,我们将下载 Git 版本 2.26.2,但您可以随意选择任何版本。

curl --output git.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.26.2.tar.gz

curl 命令指定它应该将源代码放在一个名为git.tar.gz的压缩文件中。

下载:Linux 的 Git 源代码

在大多数情况下,源代码将打包在一个压缩文件夹中,以便于下载并更好地组织源代码文件。

要提取压缩文件的内容,您可以使用tar命令。

tar -zxf git.tar.gz

接下来,转到新提取的文件夹。在这种情况下,名称将是“git-2.26.2”,当然,如果您下载了不同版本的 Git,文件夹名称会有所不同。

cd git-2.26.2

查看README.mdINSTALL文件总是一个好主意,因为它们包含有关如何编译和安装包的宝贵信息。这些文件通常位于源代码的根文件夹中。

另一个重要的文件是配置脚本。它会检查您要编译的包的软件依赖项,如果脚本发现缺少依赖项,您将看到一条错误消息。

通过执行脚本来配置和准备源代码。该命令将为您将要编译和安装的软件创建make文件和配置。

./configure

现在源代码已配置和编译,您可以按如下方式构建软件:

make

make 命令使用 Makefile,其中包含有关如何构建软件包的必要说明。

编译过程将需要一些时间,具体取决于计算机的处理能力和包的大小。

如果您已经走到这一步,恭喜您,您已经成功地从源代码编译并构建了 Linux 软件。

在这最后一步中,您将安装刚刚从源代码构建的 Git 软件包。此命令通过将构建文件复制到 PC 上的正确位置来安装新编译的包。

sudo make install

使用以下命令检查您刚刚安装的 Git 版本:

git --version

输出应该与下面的类似。版本号可能因您下载的软件包而异。

本指南以 Git 作为研究案例,研究了如何在 Linux 上从源代码编译和构建软件。从源代码安装软件给了你很大的自由来定制你喜欢的软件,这是一件了不起的事情。

大多数 Linux 发行版在安装软件时为您提供了许多选项。例如,在 Arch Linux 上,您可以使用 Pacman 和 Yay 包管理器。

标签: 安装软件 Linux 应用程序