SDB:编译软件
警告
在您编译程序时可能会出现问题。新编译的软件可能会替换掉一个完全合适的旧软件,或者更糟糕的是,有可能编译出病毒或特洛伊木马。
因此,最好先查看应用程序是否已经作为 rpm 二进制文件(预编译,最常见的 rpm)在其中一个 软件包仓库 中可用。您也可以在 这里、这里 或 这里 或使用搜索引擎查找可用的 rpm。 另一种选择是寻找具有相同功能的替代程序。最后一种选择是,对于简单的应用程序,不一定总是需要“SUSE rpm”,任何 rpm 都有很大的机会可以工作(适用于任何常用发行版的 rpm)。
找到恶意代码的可能性极小,而且几乎肯定会来自互联网上不可信的来源。即便如此,最好不要过于自信。在 Linux 上发生这种情况非常罕见,但在不久的将来,出现问题的风险可能会增加。在发出此警告后,请记住不要过于偏执。只有通过编译才能获得出色的软件,因此如果一切都失败了,您可以编译自己的软件。编译无非是将源代码更改为可以运行的程序。
先决条件
首先,您需要安装开发工具。在 YaST 中,转到软件管理,然后筛选选择。至少选择 C/C++ 编译器和工具。您可能还需要 KDE、Gnome 和 Tcl/Tk 开发以及在某些情况下内核开发。一起安装所有这些的唯一缺点是会占用磁盘空间。
最后,运行 YaST 在线更新以确保一切都是最新的。
如果您想创建一个本地 rpm 以方便安装和卸载,那么也请安装“checkinstall”。(checkinstall 的使用仅适用于本地机器,不应用于您打算分发的程序。)这在替代安装部分中介绍。
编译
您已准备就绪,因为上述操作只需要执行一次。下载源代码文件。大多数时候,它们以 tgz、tar.gz 或 tar.bz2 结尾。
接下来,您必须解压缩源代码。如果源代码具有上述扩展名之一,则可以使用tar xf filename.tar.bz2命令。如果您使用 KDE,请单击 Dolphin 中的存档,它将打开并显示一个文件夹名称。将此文件夹复制/粘贴到适当的位置,或者您可以右键单击该软件包并选择提取。这些是您的源代码 :-) 。一个很棒的解包工具是 eXtract Everything!。
移动到您刚刚创建的目录,并阅读其中的 README 和/或 INSTALL 文件。如果程序具有非常规的编译方法,则应在此处说明。这种情况非常罕见,这些文件很可能会描述以下过程
验证
您需要验证编译应用程序所需的所有内容是否可用。执行此操作的必要工具是“configure”。因此,您必须运行./configure。不要忘记点斜杠。您必须修复任何错误消息显示的任何问题,然后才能继续。如果程序没有 configure 实用程序,那么原因可能在 README 中。
编译
接下来,您运行make。这将构建程序,完成后您可能已经可以运行它。如果您有多个逻辑内核,可以添加后缀-jX地点X是您想要用于编译的内核数量(这将加快过程)。查看它在哪里,您可以使用./program-name或src/program-name或它位于目录中的任何位置。编译可能非常快或非常长,具体取决于应用程序的大小。
安装
这通常是您需要成为 root 的唯一部分。这也是上述警告发挥作用的部分。通过运行su -c make install(su 是您成为 root 的地方,仅用于此操作)。它将要求您输入 root 密码,并且很可能会将软件安装到/usr/local/bin/.
替代安装
另一种方法是首先创建一个可以安装和卸载的 RPM。代替su -c make install,使用su -c checkinstall。这将创建一个位于/usr/src/packages/RPMS的 RPM,可以像任何其他 RPM 软件包一样安装。请记住,checkinstall 不是准备程序以超出您自己计算机安装的方式。
故障排除
大多数软件包通常可以正常工作。有时,特别是对于较旧和更复杂的程序,事情并不顺利。由于您应该已经寻找过替代方案和预编译的 RPM 软件包,因此您需要查看哪里出了问题。阅读错误消息。如果它说找不到某些内容,很可能您没有安装它。如果您向其他人寻求帮助,请复制并粘贴这些错误消息。
阅读程序员的网站是个好主意。通常,当应用程序需要特殊的库时,编译会在那里很好地描述(比在 README 或 INSTALL 文件中更好)。
摘要
简而言之,您需要执行的操作是
(If anything fails: read the errors)
or
Navigate to the directory with Konqueror, open the new RPM file, and click install with YaST
参见
可以查找软件的地方