Ubuntu和其他Linux发行版有大量的软件包存储库,可以避免自己编译任何东西的麻烦。不过,有时您会发现一个晦涩难懂的应用程序或一个必须从源代码处编译的程序的新版本。
你不必成为一个程序员,从源代码构建程序并将其安装到系统上;你只需要知道基本知识。只需使用几个命令,您就可以像pro那样从源代码构建。
在Ubuntu的包存储库中安**uild-essential包会自动安装从源代码处编译所需的基本软件,如GCC编译器和其他实用程序。通过在终端中运行以下命令进行安装:
sudo apt-get install build-essential
键入Y并在出现提示时按Enter键确认安装。
现在您需要所需应用程序的源代码。这些包通常是压缩文件中的。焦油.gz或者。焦油bz2文件扩展名。
举个例子,让我们试着从源代码处编译Pidgin——也许有一个更新的版本还没有打包,我们现在就需要它。找到程序的。焦油.gz或者。焦油bz2文件并保存到您的计算机。
一个。焦油.gz或者。焦油bz2就像.zip文件。要使用它,我们必须提取它的内容。
使用此命令提取。焦油.gz文件:
tar -xzvf file.tar.gz
或者使用此命令提取一个。焦油bz2文件:
tar -xjvf file.tar.bz2
您将得到一个与源代码包同名的目录。使用cd命令输入。
进入提取目录后,运行以下命令:
./configure
(请注意,某些应用程序可能不使用./configure。查看应用程序解压文件夹中的“README”或“INSTALL”文件以获取更具体的说明。)
(./part告诉bashshell在当前目录中查找“configure”文件并运行它。如果省略了./,Bash将在/bin和/usr/bin等系统目录中查找名为“configure”的程序。)
./configure命令检查您的系统是否有生成程序所需的软件。
除非你很幸运(或者你的系统上已经有很多必需的软件包),否则你会收到错误消息,表明你需要安装某些软件包。在这里,我们看到一条错误消息,说intltool脚本在他们的系统上不存在。我们可以使用以下命令安装它们:
sudo apt-get install intltool
安装所需软件后,再次运行./configure命令。如果需要安装其他软件,请使用sudo apt get install命令重复此过程,直到。/configure成功完成。并非每个必需的包都会有错误消息中所看到的确切名称——您可能需要对错误消息进行谷歌以确定所需的包。
如果你试图编译的程序的旧版本已经在Ubuntu的软件库中,你可以用sudo apt get build dep命令作弊。例如,如果我运行sudo apt get build dep pidgin,apt get将自动下载并安装编译pidgin所需的所有依赖项。如您所见,您将需要的许多包都以-dev结尾。
一旦./configure成功完成,就可以编译和安装包了。
使用以下命令编译程序:
make
此过程可能需要一些时间,具体取决于您的系统和程序的大小。如果./configure成功完成,make应该不会有任何问题。当程序编译时,您将看到一行行文本滚动而过。
此命令完成后,程序将成功编译,但尚未安装。使用以下命令将其安装到系统中:
sudo make install
它可能存储在系统的/usr/local下。/usr/local/bin是系统路径的一部分,这意味着我们只需在终端中键入“pidgin”就可以毫不费力地启动pidgin。
如果以后要安装程序,请不要删除该程序的目录-可以从该目录运行以下命令从系统中卸载该程序:
sudo make uninstall
以这种方式安装的程序不会被Ubuntu的更新管理器自动更新,即使它们包含安全漏洞。除非您需要一个特定的应用程序或版本,而这个应用程序或版本不在Ubuntu的软件库中,否则最好还是坚持使用发行版的官方软件包。
这里有很多高级技巧我们还没有介绍,但是,希望编译自己的Linux软件的过程不再那么可怕。
... 如果您愿意,您可以从官方的Linux内核网站上获得您的源代码。我建议只有在Linux操作系统没有提供的情况下才这样做。选择所需的版本并下载。如果你通过这个途径,你应该下载到一个空文件夹。这样,如果你想在将来编译...
.../etc 在这里,我们正在搜索文件名中包含“coord”的所有C源代码文件: fdfind -e c coord 找到了两个匹配的文件。 fd和git Git是一种非常流行的源代码版本控制系统。如果您在计算机上使用Git,您可能会使用“.gitignore”文件来告诉Gi...
...aro上,您需要从Arch User Repository(AUR)安装Fingers,并从其源代码构建它。有一些工具可以帮你完成,所以这是一个自动化的过程。这很好,但这确实意味着您必须在Manjaro系统上安装这些工具,以及从AUR检索和安装finger的工具。...
...文件。这将生成程序的可执行版本。指令的文本文件称为源代码。实际上可以在计算机上运行的程序版本称为二进制或可执行文件。 这是事件的一个简化版本,但它描绘了一个正确的,如果概括的图片。在实践中,你会发现这...
...间环境,您还可以用其他方式安装软件。例如,您可以从源代码编译和安装软件,就像在Linux发行版上一样。 如果您已经安装了另一个Linux发行版,请改用用于在该特定发行版上安装软件的命令。例如,openSUSE使用zypper命令。 ...
...这些软件包还没有进入Ubuntu的存储库。从PPA安装软件比从源代码编译软件容易,因此知道如何进行安装是很好的。 ppas,解释 相关:软件安装和包管理器如何在Linux上工作 Ubuntu拥有自己的包存储库,默认情况下是启用的。当您...
...运行——基本上,您将无法运行没有为ARM Linux编译的封闭源代码应用程序。您可以访问各种开放源代码工具和桌面应用程序,这些工具和应用程序可以为ARM重新编译,但大多数封闭源代码应用程序无法在这些机器上工作。 在英...
...序的网站提供了预编译版本。应用程序可能会告诉您下载源代码并自己编译。 软件存储库 Linux用户通常不会像Windows用户那样从应用程序的网站下载和安装应用程序。相反,每个Linux发行版都有自己的软件存储库。这些存储库包...
...终端命令—许多都是独立于其他程序开发的。它们都是以源代码形式分发的开源软件。 如果您愿意,您可以获取Linux内核、gnushell实用程序、xorgx服务器以及Linux系统上所有其他程序的源代码,然后自己组装。然而,编译软件需要...