什么时候应该从源代码编译和安装?

Dav*_*hua 4 compiling source software-installation

要在Linux系统上安装软件,很多工具,如yumapt-getrpmdpkg等可供无论是从存储库中取出一包或安装下载的软件包。

或者,可以下载(通常).tar.gz2源的存档并使用手动编译

./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

或类似。我的问题是:什么时候应该从源代码编译和安装?

jof*_*fel 5

一般来说,建议使用您的发行版提供的软件包并使用相关的软件包管理器(例如dpkg/apt-get在基于 Debian 的系统上)。您的发行版的任务是打包软件并对其进行配置,以免发生冲突。

有时您的发行版没有您想要的软件,或者您有其他原因,例如

  • 你需要一个更新的版本
  • 你想要一个特殊的配置或想要包含补丁等。
  • 您需要更高的性能,因此想要优化软件,特别是针对您的硬件(处理器,...)

因为您想自己编译软件(这可能会变得非常困难 - 特别是如果您不了解所有依赖项)。

你有不同的选择:

  • 从源代码重建它,通常从 tarball(=*.tar.gz文件)或从上游源存储库(如 github)
  • 下载/安装相应的预构建包(直接或使用非官方存储库)
  • 使用您的发行版中现有的包源,手动更新它并创建一个新的包,然后您可以安装它。

如果您不使用包管理器安装软件,强烈建议将软件安装到包管理器使用之外的其他地方。目标前缀是/usr/local/. 安装到/opt主文件夹的新子目录或某处也是选项。


Vin*_*inz 2

如果您的发行版软件包不适合您的需要,您应该从源代码编译和安装。例如,如果您需要添加未在包中编译的选项,或者需要更改路径以链接到特定库。或者如果您需要尚未打包的最新版本。