使用 Checkinstall 从源代码构建软件包
Checkinstall 是一个实用程序,可以从第三方源代码 tarball 构建 .deb、.rpm 或 Slackware 软件包。这允许您使用发行版的标准软件包管理功能引入此类第三方软件。相比之下,安装此类软件包的常规说明会使您的软件包管理器与 Linux 盒子上安装的实际软件集合不同步。
本简短教程假定您正在使用 Debian 派生的发行版,例如 Ubuntu,尽管它应该适用于大多数发行版。它还假定您有一些从源代码构建软件包的先验经验。
对于大多数用户来说,向 Linux 系统添加软件的首选方法是使用软件包管理器。如今,软件包管理非常可靠,除了其他任何方面,它还提供了 Linux 系统享有的优势。但是,当您需要的软件包不在您选择的发行版的存储库中,或者它在那里但它是旧版本时,您该怎么办?在这种情况下,通常别无选择,只能从源代码构建。
从源代码构建是一个相当简单的过程,但它也带来了一些问题。首先,您绕过了软件包管理器,这会使其内部数据库与计算机上安装的软件不同步。您甚至可能最终同时安装了两个版本的应用程序,这可能会导致各种问题。
值得庆幸的是,有一个名为 Checkinstall 的工具旨在解决这个问题。Checkinstall 接受编译后的源代码 tarball,并将其转换为 Debian、Slackware 或 RPM 软件包,您可以通过软件包管理工具“正式”安装它。此外,您可以分发完成的软件包,以便其他人可以在无需从源代码构建的情况下安装它。最重要的是,如果您已经知道如何从源代码构建软件包,它非常易于使用。某些发行版默认不包含 Checkinstall,因此您可能必须搜索它并通过软件包管理器安装它。
从源代码构建软件包的正常过程开始于,首先从维护者的网站下载并解压缩源代码,导航到源代码目录并键入
./configure.
配置过程完成后,您然后键入
make
这会构建源代码,然后是
sudo make install
这会安装软件包。但是,官方说明通常鼓励您绕过软件包管理器的优势,而这正是导致问题的原因。不要调用“sudo make install”,而是键入
sudo checkinstall
Checkinstall 将开始创建 .deb 软件包(在 Debian 风格系统的情况下)并安装它。在执行实际构建之前,系统会询问您一系列问题。如果您只想构建一个软件包添加到您自己的系统,您可以安全地接受默认答案。但是,如果您打算分发完成的软件包,最好填写一些字段,例如您的联系方式和任何其他重要说明。
值得注意的是,与大多数安装软件包的命令行工具一样,您必须确保在运行 Checkinstall 时没有其他软件包管理工具正在运行。如果您只想创建 .deb 而不执行安装,请使用命令行开关
sudo checkinstall --install=no
为 Beebem(BBC Micro 模拟器)创建 Ubuntu 软件包
我想知道是否只有我一个人认为 Checkinstall 应该在大多数发行版中更突出地显示,也许带有一些 GUI 前端?
Checkinstall 网站。