如何在 Linux 上编译软件包

对于从Windows(Windows)切换到Linux的用户来说,最困难的调整之一是,并非您想要安装的所有软件都是现成的。与(在大多数情况下)将软件预先打包在EXE安装程序或ZIP文件中的Windows用户不同, (Windows)Linux用户通常必须编译自己的软件包。

如果你想知道如何在Linux(Linux)上编译软件包,你需要遵循几个步骤。您需要下载源代码,运行 configure 命令,安装任何所需的依赖包,然后运行 ​​make 命令开始编译您的包。以下是如何在基于Linux的操作系统上完成所有这些操作。

下载源文件(Downloading Source Files)

在开始构建新软件包之前,您需要源代码。这可能来自您自己开发的包,在这种情况下,您应该已经可以访问源代码。

但是,您更有可能尝试在Linux上编译来自其他开发人员的软件包。流行的代码共享站点(如Github)允许您查看和下载(view and download the source code)包的源代码,然后您可以对其进行编译。您可以使用流行的版本控制系统GIT将源文件下载到您的 PC。

您也可以直接从VLC(VLC)等开源项目下载源代码。这些通常以压缩文件格式(compressed file format)出现,例如TAR.GZ,您可以使用tar命令在终端提取。例如,运行命令tar -xzvf source.tar.gz将提取一个名为source.tar.gz的 tarball 文件。

在您的Linux PC 上获得并提取源代码后,您可以在开始编译包之前进入下一个准备阶段。

在 Linux 上安装 Build-Essential(Installing Build-Essential On Linux)

无论源代码的编程语言如何,在Linux(Linux)操作系统上 编译的任何类型的软件都需要build-essential软件包中包含的工具和软件。

作为基本包,build-essential(或类似名称的包)应该在您的Linux发行版的软件存储库中可用。基于Arch (Arch) Linux的发行版上的 build-essential 等价物称为base-devel,其中包括许多相同的工具。

build-essential 的安装说明也会有所不同,具体取决于您的Linux发行版。例如,在基于Ubuntu和 Debian 的操作系统上,您可以通过打开终端窗口并键入sudo apt install build-essential 来安装 build-essential(sudo apt install build-essential)

安装 build-essential 也会安装它的依赖项,比如g++包。此过程完成后,您可以在编译之前继续配置您的Linux源代码包。(Linux)

运行配置命令(Run The Configure Command)

主要包的源代码通常包含一个配置(configure)脚本。运行此脚本将检查您的Linux发行版是否有您的源代码需要能够正确编译的基本包。

要运行配置脚本,请使用cd(cd)命令输入提取的源代码的文件夹。从那里,在终端中输入./configure,按回车键运行它。

如果配置脚本检测到丢失的包,它会在脚本结束时通知您要做什么。例如,在编译VLC媒体播放器之前,上面运行的配置脚本检测到没有安装Lua编程语言。(Lua)

在某些情况下,即使配置脚本检测到缺少软件包或功能,您仍然可以编译和配置软件包。VLC的配置脚本(如上所示)通过建议您使用--disable-lua标志再次运行它来绕过它,为丢失的Lua编程语言包提供了解决方案。(Lua)

您需要安装配置脚本检测到的任何丢失的软件包或使用任何建议的禁用标志来绕过这些错误,然后才能继续。

如果配置脚本已完成且没有(或只有轻微)错误,则将为您的包创建配置的makefile 。这将创建编译包的说明,允许您进入最终的软件编译阶段。 

安装缺少的依赖包(Install Missing Dependency Packages)

配置脚本有助于识别您的Linux发行版需要能够正确编译和安装新软件包的任何软件包。

这些可以通过您的配置脚本错误消息清楚地识别,或者通过运行该脚本的过程进一步回溯。如果错误消息没有说清楚,请向后滚动终端历史记录以尝试识别丢失的包裹。

一旦您知道缺少的软件包是什么,请使用Linux发行版的软件包安装程序来安装它。例如,在基于Ubuntu和 Debian 的操作系统上,运行sudo apt install package-name将安装一个包。

在开始编译和安装新软件包之前,安装任何缺少的依赖项是您需要完成的最后一个阶段。完成此过程后,您就可以开始编译了。

如何在 Linux 上编译(How to Compile on Linux)

build-essential包包含make ,这是一个自动工具,用于开始将源代码编译成可以在 PC 上运行的软件。它使用由前面的configure命令配置和创建的(configure)makefile文件,其中包含编译包所需的特定说明。

要开始编译源代码,请打开终端并使用cd命令输入正确的文件夹。准备好后,输入make开始编译你的包。

这将需要一些时间来完成,具体取决于包的大小和可用的系统资源。如果您的软件包编译后没有出现错误,您可以安装您的软件包。

为此,请在终端中键入sudo make install 。该软件包将安装在您的Linux PC 上,供您像任何其他软件一样打开和使用。

在 Linux 上安装新软件(Installing New Software On Linux)

了解如何在Linux(Linux)上编译软件包可以帮助您安装鲜为人知的软件。像Ubuntu(Ubuntu)Devian这样的主要操作系统都有可供用户使用的大型软件存储库,因此如果您不想编译软件,请尝试使用包管理器查找和安装新软件。

如果您要从Windows迁移,您还可以在 Linux 上安装 Windows 软件,(install Windows software on Linux)以继续使用您最喜欢的仅限 Windows 的应用程序。



About the author

我是一名全职软件工程师,在使用 Windows 和 Mac 软件方面拥有超过 10 年的经验。我知道如何在两个平台上设计、测试和部署应用程序。我也有安全和系统管理方面的经验。我的技能和知识可以帮助您构建更好、更高效的计算机系统。



Related posts