|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
给你装的系统里为ubuntu12.04,它已经封装的很臃肿了,但是考虑到你没有很多时间投入其中,所以给你装了它,但是怎么用它提高开发效率,需要你在学习的过程中不断总结;
编译软件
ubuntu堆栈有着不计其数的软件,假如加上第三方的堆栈,你能够失掉更多!但是,有些情形下,大概必要你经由过程源码来编译安装软件(相干引导请移步CompilingEasyHowTo):
1、堆栈中的软件包不成用;
2、堆栈中的软件包太旧了;
3、堆栈中的软件包,因某些缘故原由招致程序的一般功效不成用;
4、堆栈中的软件包大概有些bug被一切者修复了;
5、你想经由过程测试来匡助作者修复某些bug;
6、大概只是你想重新入手下手,尝尝手动编译一个程序;
情况
你必要依据写成相干程序的言语,来编译软件。被请求编译的使用程序一般是由C和C++写成的,在这类情形下,你必要安装编译器gcc,能够经由过程安装build-essential软件包来猎取。一般情形下,你必要上面的命令操纵来完成:- sudoapt-getinstallbuild-essential
复制代码 为了可以运转configure和autogen.sh文件,必要更多的程序:- sudoapt-getinstallautomake
复制代码 最初,必要CheckInstall平安的将程序装载到你的体系中:- sudoapt-getinstallcheckinstall
复制代码 假如程序是由java写成的,那末你还必要一个javarun-time和compiler。你能够依据java页的申明来安装java。偶然候必要一个基于构建工具ant的java,软件包能够从ubuntu堆栈取得: 假如程序是由注释言语写成的,好比python和perl,那末你仅仅必要一个剖析器,这个是ubuntu默许安装的,你能够间接运转程序,尽年夜多半情形下,你能够间接从ubuntu堆栈中安装那些为了运转程序而必需的python和perl程序。更多注释言语的谍报请参考文章开头!
你真的必要编译吗?
假如你编译软件只是由于软件堆栈里的不成用,那末请在UbuntuPackageSearch中搜刮软件包!良多作者同时也制造了他们本人的PPA,它们也能够被增加到你的软件源里。很多作者制造的PPA源的中央是Launchpad,你也能够经由过程命令行,利用上面的命令搜刮相干软件的keyword(固然了,请利用实践术语取代keyword)! 猎取源
一般,源码包会以作者本人网站的某种情势来供应!一般的格局是tar.gz和tar.gz2大概zip。你可使用文件解紧缩工具,经由过程上面的命令来解压他们:- tar-xvffile.tar.gztar-xvffile.tar.bz2unzipfile.zip
复制代码 偶然候,也必要利用CVS剪切边沿代码,你能够经由过程sudoapt-getinstallcvs来安装CVS。比方,检索NetworkManager的源码,写出上面的命令:- cvs-d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnomelogin
复制代码- cvs-d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnomecoNetworkManager
复制代码 假如你是从CVS安装,请参阅文章最初的先容。
良多软件包,可使用Bazaar(sudoapt-getinstallbzr)从upstream猎取以后的代码,而无需手动查找版本把持地位。比方: 三步编译
尽年夜多半linux上必要源码安装的程序能够经由过程./configure;make;makeinstall这三步来完成安装,而最坚苦的一步常常都在./configure这一步,那前面的几步是能够很轻松的完成的。
Configure
configure是用来做上面这些事的一个剧本:
1、用以反省盘算机创建包所必需的完全性;
2、匡助你依据必要改动默许的路径;
3、用以激活/禁用编译程序中的各类选项;
4、用以改动程序将要被安装的路径;
你能够经由过程实行上面的命令来检察特定configure剧本所供应的选项个功效: 比方,默许的configure剧本会指定安装到/usr/local上面,假如你想改动路径,能够实行上面显现的configure剧本命令:- sudoapt-getinstallautomake0
复制代码 假如你真的想从零入手下手编译,能够仔细研读一下README大概INSTALL文件。你会看到必要甚么样的软件碎片,比起在包体系中,在这些文件中他们一般有着纷歧样的名字。接上去,能够经由过程利用apt-cache工具来寻觅响应的包。假如你已经由过程堆栈中编译包,那末另有一个窍门,就是经由过程上面的命令来安装包的依附:- sudoapt-getinstallautomake1
复制代码 这能够确保一切所需的包以来都能够被安装,以期configure不会因为过旧的依附包而报错,不然你将不能不持续编译相干的依附。
寻觅并修复configure的妨碍
刚巧鄙人面这几种情形下,configure大概会失利:
1、编译的时分必要-dev包;
2、要编译GNOME使用那末必要响应的gnome-level;而编译KDE使用则必要kde-level;
3、C和C++库的称号老是以lib开首,因而,假如./configure报错说丧失了库foo,那末你必要安装libfoo-dev包;
4、假如configure说要“Xincludes”,那末你大概必要安装上面这些包“xlibs-dev,xlibs-static-dev,x-window-system-dev”,注重,偶然候,仅仅必要xorg-dev和x-dev就能够了。-Racecar56UnderJaunty则必要安装xorg-dev和libx11-dev。
5、检察哪些包被必要的技能,可使用auto-apt工具大概apt-file工具(auto-apt大概更快一些):- sudoapt-getinstallautomake2
复制代码 利用auto-apt和下面是一样的,假如把auto-apt交换成auto-apt!
6、假如编译软件禁用失利的选项,可使用./configure–disable-FEATURE选项。
7、假如你本人没能修复你碰到的成绩,你也能够追求ubuntu官方的匡助哦。
假如基本不存在configure的文件,那末最好检察一下configure.ac文件(有需要仔细浏览一下INSTALL和README文件),假如configure.ac文件存在,那就是开辟者健忘创立终极configure文件了,你能够本人创立,不外必要autoconf包:- sudoapt-getinstallautomake3
复制代码 安装乐成以后,键进:- sudoapt-getinstallautomake4
复制代码 假如侥幸的话,一个可事情的configure文件应当被创立了。
编译
可喜可喝,configure步骤已完成了,真实的编译安装能够入手下手了。十分复杂:- sudoapt-getinstallautomake5
复制代码 如今假如统统顺遂的话,你应当的到了一个可事情的程序copy在你的源目次下,你能够运转上面的命令来试用一下:- sudoapt-getinstallautomake6
复制代码 假如程序这一步失利了,那末就有多是程序的bug,这时候候你最好接洽一下作者,告知他程序的成绩。
安装软件包
假如统统停顿顺遂的话,你能够键进上面的命令来安装程序:- sudoapt-getinstallautomake7
复制代码 利用CheckInstall能够创立一个.deb包,这货稍后能够很简单被移除哦!
但是,因为某些缘故原由,你不想利用CheckInstall,这是安装的最初办法(不保举):- sudoapt-getinstallautomake8
复制代码 注重:
1、假如程序是内核的一个组件,那末还必要gcc-3.4(onbreezy)和kernel-headers,他们稍后可使用sudoapt-getinstallgcc-3.4linux-headers-$(uname-r)来安装。请注重,每内核晋级后,那末内核组件也必需从头编译,而新的header也必需从头下载。要编译完全内核,请拜见KernelCompile。
2、假如你想从头编译已存在的debian的软件包,可使用dpkg-buildpackage-rfakeroot,假如一般包丧失了,buildscript会告知你包的名字!
3、假如你从revisioncontrol(CVS,Bazaar,等.)举行编译,一般必要猎取revisioncontrol的源码,以后增添一个步骤,运转autogen.sh剧本,为你天生configure剧本。
注释言语
一般注释言语在必需组件未安装的情形下会运转失利。
1、perl组建一般相似于foo::bar(比方xml::parser),但是,它的包为称为ibfoo-bar-perl(libxml-parser-perl),经由过程apt-cache搜刮能够匡助找到称号稍许变更的文件,比方:- sudoapt-getinstallautomake9
复制代码 2、python组件被称作python-module,因而pythonmysql组建被称作python-mysqldb,映照在这里少有分歧,apt-cache能够给一些匡助!像如许搜刮一下:- sudoapt-getinstallcheckinstall0
复制代码 一般所需匡助文档在被请求安装的组件傍边!
3、ruby组件的定名和perl有些相似,由于activesupport是libactivesuport-ruby[1.8|1.9](假如没有出格请求,默许是1.8)。固然了,你也能够安装ruby保证理平台rubygems,但是,debian/ubuntu封闭了一些晋级功效,确保rubygems可使用apt一般事情。假如你想坚持ruby的最新版本,能够看一下RubyOnRails。- sudoapt-getinstallcheckinstall1
复制代码 批评
为了找到更好的技能,你能够思索在CompilingEasyHowTo猎取加倍有好的匡助。并且,你会发明CheckInstall也是很有匡助的:
1、checkinstall不是文档中形貌的默许办法?有些人刚入手下手编译的时分不喜好利用checkinstall,有缘故原由吗?
修正每页,我都是相称的审慎,我但愿人人都能批准!
2、file-roller不克不及用来解压文件?没有人必需要记着“-jxvf”!请先容一些尽量复杂的操纵工具,初级用户能够在数百万的收集文档里找到命令行的捷径,“this”文档应当只供应了然的办法,如许可让人人更注意其ubuntu来,并且也能够更简单的运转那些不为人知的软件包!
实践上,“tarxffile”已充足了,GNUtar已能够主动探测并解紧缩它们了。假如用户想要具体的输出信息,则可使用"tarxvffile"。如果shell中编译的最初几步在供应一个GUI步骤,大概招致更加严峻的成绩!
这则引导申明是给开辟者的仍是用户的?
原文地点:点击扫瞄转自于IMCN
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln |
|