步骤1:步骤1:准备系统以构建软件包
默认情况下,Ubuntu没有提供所需的工具。您需要安装软件包构建必需的软件包来制作软件包,并检查安装以将其放入软件包管理器。这些可以在安装CD或存储库中找到,可以在Synaptic软件包管理器或命令行apt-get中进行搜索:
sudo apt-get install build-essential checkinstall
,而且由于您可能想要获取代码从某些没有发布版本的项目中,您应该安装适当的版本管理软件。
sudo apt-get install cvs subversion git-core mercurial
然后应该为自己构建一个公共目录,在其中构建这些软件包。我们建议创建/usr/local/src,但实际上您可以将其放置在所需的任何位置。通过运行
sudo chown $ USER/usr/local/src
,并为了安全起见,确保主用户帐户可写入该目录。
sudo chmod u + rwx/usr/local/src
完成此操作后,就可以开始获取所需的程序了。
步骤2:步骤2:获取所需的软件
您通常需要的大多数软件都来自发行的tarball。这些只是压缩的存档,扩展名为.tar.gz或.tar.bz2-就像Windows上的.zip文件或MacOS X上的.sit一样,只要可以帮助您。如果要安装的程序以这种形式出现,则应将其移至我们在步骤1中创建的/usr/local/src目录中,并通过右键单击文件并选择“在此处提取”或使用以下命令来提取它:行:如果您的tarball是.gz,请使用以下命令提取文件:
tar -xzvf tarballname.tar.gz
,对于bz2,请使用类似的命令:
tar -xjvf tarballname.tar.bz2 《在从cvs或subversion存储库中获取程序的极少数情况下,开发人员通常会在其网站上提供有关如何执行此操作的说明。如果您已经安装了第1步中列出的软件包,则只需更改到/usr/local/src目录(cd/usr/local/src)并运行列出的命令。该过程因程序而异,因此在这里我不能为您提供帮助,但是使用给定的软件包,它们提供的说明应该可以正常运行。
注意:如果从Git,SVN或任何其他来源下载源存储库,则可能尚未生成。/configure文件。您可能可以从下载的文件顶部目录中运行命令
autogen.sh
。此命令依赖于automake和autoconf程序,并将自动生成配置文件并运行。/configure命令。执行完此步骤后,您可以通过运行命令
make
恢复以后的说明。第三步:解决依赖关系。
一件好事关于现代Linux发行版的问题是它们照顾用户的依赖性。就是说,如果您要安装程序,则apt程序将确保它安装了所有需要的库和其他依赖程序,因此,安装程序绝不会比仅指定所需的内容困难,其余的都由它来完成。不幸的是,使用tarball并非如此,您必须手动进行。正是这个阶段使甚至一些经验丰富的用户绊倒,这些用户常常因无法弄清楚他们需要得到什么而沮丧地放弃了。
您可能想先阅读一下自动适配的可能性和局限性,将尝试自动解决依赖性问题。以下说明用于手动实现依赖关系:
要准备,请安装软件包apt-file,然后运行sudo apt-file update。这将下载所有可用软件包以及这些软件包包含的所有文件的列表,如您所料,这可能是一个很大的列表。加载时它不会提供任何反馈,所以请稍等。
apt-file程序具有一些有趣的功能,两个最有用的功能是apt-file搜索(用于搜索特定文件名)和apt-file列表(用于搜索文件名)。列出给定包中的所有文件。 (两个解释:1 2)
要检查程序的依赖关系,请转到第二步中创建的目录(cd/usr/local/src)。解压缩tarball或从cvs/subversion下载将在/usr/local/src下创建一个包含源代码的子目录。这个新创建的目录将包含一个名为“ configure”的文件,该文件是确保可以在您的计算机上编译该程序的脚本。要运行它,请运行命令。/configure。此命令将检查您是否具有安装程序所需的所有程序-在大多数情况下您没有,并且会出现有关需要程序的消息,并会出错。
如果不带任何选项运行。/configure,则将使用该程序的默认设置。大多数程序都有一系列可以启用或禁用的设置,如果您对此感兴趣,请在解压缩tar文件后检查目录中的README和INSTALL文件。您可以查看开发人员文档,在许多情况下。/configure --help将列出您可以执行的一些关键配置。一个非常常见的选项是使用。/configure --prefix =/usr,它将按照我的说明将应用程序安装到/usr而不是/usr/local。
如果发生这种情况,输出的最后一行将是像
configure:错误:未满足库要求(gobbletygook),等等等等我们不关心的东西。但是在其上方,它将列出一个找不到的文件名(通常以“结尾的文件名。 pc”)。然后,您需要运行
apt-file搜索missingfilename.pc
,它将告诉您缺少文件所在的Ubuntu软件包。然后,您可以简单地使用
sudo apt-get安装该软件包。安装requiredpackage
,然后尝试再次运行。/configure,并查看其是否有效。如果您看到一堆以config.status结尾的文本:创建Makefile,然后没有明显的错误消息,则可以开始下一步了。
步骤4:步骤4:构建并安装。
如果您已经了解到这一点,那么您已经完成了最困难的部分。现在您所要做的就是运行命令
make
,该命令将实际构建(编译)该程序。
如果它是一个大型程序,或者您的计算机速度很慢,请转到喝杯咖啡或其他东西。如果您有多核处理器,还可以将变量CONCURRENCY_LEVEL设置为必须加快速度的处理器/核数。
完成后,安装程序。您可能要使用
sudo checkinstall
,它将程序放入程序包管理器中,以使其干净,方便以后删除。这将替换旧的sudo make install命令。请参阅CheckInstall上的完整文档。
注意:如果checkinstall失败,则可能需要运行诸如
sudo checkinstall --fstrans = 0
之类的命令,这应该允许安装成功完成。错误:78455和599163
然后将完成安装的最后阶段。不应该花很长时间。完成后,如果使用checkinstall,该程序将出现在Synaptic Package Manager中。如果您使用sudo make install,则您的应用程序将安装到/usr/local/bin,并且应该可以从那里运行它而不会出现问题。
如果这一切对您来说都太难了,请不要担心。毕竟,您使用的是Ubuntu,它已经包含了为您完成工作所需的所有程序。如果那里没有程序包,很可能您真的不需要该程序,并且在几个月内有人会为您打包程序。实际上,您真正需要构建和编译的唯一程序是新的程序,这些程序可能尚未稳定或无法用于桌面。如果您认为此过程太难了,那么也许您应该重新考虑为什么要这样做,然后等待几个月才能发布下一个稳定版本。但这对您来说可能是一个很好的学习体验。
如果您所需的软件包非常重要,并且您认为应该适当地将其安装在Ubuntu中,请联系宇宙大师,看看他们是否可以为您完成艰苦的工作—如果他们打包了东西,则任何人都可以安装它,而无需执行此过程。但是,如果您能解决所有这些问题,那么您就可以成为Linux的专业用户了-您会惊讶地发现,完成几次之后,这一切看起来多么容易。祝您好运!
轻松的意思是“比在房间里四处奔走,然后大声尖叫Linux更容易”。
步骤5:编辑器注释
我从Ubuntu网站上获取了此内容,并对其进行了总结,就像我上次指导的那样,如果结果还可以,我计划做更多这些工作:)这是我关闭的网站
责任编辑:wv
-
软件
+关注
关注
69文章
4945浏览量
87505
发布评论请先 登录
相关推荐
评论