您想修复软件包中的错误,还是只想修改软件包以满足您的需求? Linux 已为您服务。
大多数 Linux 软件包都是免费和开源的,让您可以根据自己的喜好自由定制或修改任何软件。 此外,您还可以免费查看 Linux 软件包的源代码,以从其他软件项目中学习良好的架构实践和编码模式。
让我们探索如何在 Linux 上从源代码编译和安装包。
第 1 步:安装所需工具
Linux 为您提供了从源代码编译、构建和安装软件所需的所有必要工具。
大多数 Linux 软件都是用 C 或 C++ 编程语言编写的,因此,您需要 C 或 C++ 编译器。 为了 example、GNU 编译器集合 (GCC) 和 CMake 用于构建您的包。
除此之外,您还需要其他软件包,例如 curl 和获取文本。 根据您的 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 的发行版上,例如 FedoraRHEL 等:
sudo dnf install dh-autoreconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel gcc curl cmake
第 2 步:下载包源代码
对于本指南,我们将从源代码安装 Git 包。 我们之所以选择 Git,是因为它在软件工程师和开发人员中广泛使用。
您可以编译的大多数软件包都可以在相关软件包的官方网站上找到。 您可以使用以下方式下载源代码文件 curl 命令行工具。 或者,您可以使用 wget 或图形用户界面。
将源代码下载到 PC 上的 Downloads 文件夹中,然后使用 cd 命令切换到 Downloads 目录。
cd ~/Downloads
进入 Downloads 文件夹后,您可以使用以下命令下载 Git 源代码 curl 如下。 在本指南中,我们将下载 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.
在大多数情况下,源代码将打包在一个压缩文件夹中,以便于下载并更好地组织源代码文件。
要提取压缩文件的内容,您可以使用 柏油 命令。
tar -zxf git.tar.gz
第三步:编译源代码
接下来,转到新提取的文件夹。 在这种情况下,名称将是“git-2.26.2”,当然,如果您下载了不同版本的 Git,文件夹名称会有所不同。
cd git-2.26.2
看一看总是一个好主意 自述文件.md 或者 安装 文件,因为它们包含有关如何编译和安装软件包的宝贵信息。 这些文件通常位于源代码的根文件夹中。
另一个重要的文件是 配置 脚本。 它检查您要编译的软件包的软件依赖项,如果脚本发现缺少依赖项,您将看到一条错误消息。
通过执行脚本来配置和准备您的源代码。 该命令将创建 制作 您将要编译和安装的软件的文件和配置。
./configure
第 4 步:构建软件包
现在源代码已经配置和编译好了,你可以按如下方式构建软件:
make
make 命令使用 Makefile,其中包含有关如何构建软件包的必要说明。
编译过程将需要一些时间,具体取决于您计算机的处理能力和包的大小。
第 5 步:安装软件包
如果您已经走到了这一步,那么恭喜您,您已经成功地从源代码编译和构建了 Linux 软件。
在这最后一步中,您将安装刚刚从源代码构建的 Git 软件包。 此命令通过将构建文件复制到 PC 上的正确位置来安装新编译的包。
sudo make install
使用以下命令检查您刚刚安装的 Git 版本:
git --version
输出应该类似于下面的输出。 版本号可能因您下载的软件包而异。
在 Linux 上安装软件的替代方法
本指南以 Git 作为研究案例,介绍了如何在 Linux 上从源代码编译和构建软件。 从源代码安装软件让您可以自由地根据自己的喜好自定义软件,这是一件了不起的事情。
大多数 Linux 发行版在安装软件时为您提供了许多选项。 为了 example,在 Arch Linux 上,你可以使用 Pacman 和 Yay 包管理器。