Ubuntu Linux下如何用源码文件安装软件
在Ubuntu中附带了丰富的软件,这些软件一般使用图形化的自动方式(“添加/删除”或“新立得”)即可轻松安装,但是对于那些刚刚问世的新软件,Ubuntu的源中还未收录其中,这时我们就需要用到一种更通用的安装方式:通过手工方式从源文件来安装这些软件.下面就介绍这种手工安装方式的详细步骤. 一、 安装编译程序 要编译源代码,第一步就是安装编译和构建之类的程序.如果你已经安装过了,可以跳过此步.在Ubuntu系统中非常简单,只要执行下面命令就行了: $ sudo apt-get install build-essential 该命令执行后,从源文件安装软件所需的工具,如gcc、make、g 及其他所需软件就安装好了. 二、下载并编译软件的源代码 当我们下载源文件时,一定要弄清该软件所依赖的库文件和其他程序,并且将它们装好.这些信息,通常都能在该开源项目的主页上查找到.做好这些准备工作后,我们就可以进行下面的工作了.,软件的源代码通常以压缩文件形式发布,需要将其解压到指定目录.命令如下所示: OwnLinux@ubuntu:~$ tar xvzf program.tar.gz OwnLinux@ubuntu:~$ cd program/ 如果你的对tar命令不熟悉请点击这里阅读《tar命令详解》 在Linux下从源文件安装程序时,有一个通用模式,即配置(./configure)–> 编译(make) –> 安装(sudo make install).但是,此前你最好还是阅读源文件中附带的安装说明,对于每个程序,其开发者的指示才是最具权威性的.程序开发者通常将安装说明存放在名为INSTALL或README.到哪里找这些文件呢?它们在项目主页或源代码主目录中都能找到. 1.配置 构建应用的第一步就是执行configure脚本,该脚本位于程序源文件的主目录下: OwnLinux@ubuntu:~/program$ ./configure 该脚本将扫描系统,以确保程序所需的所有库文件业已存在,并做好文件路径及其他所需的设置工作.如果程序所需的库文件不完全,该配置脚本就会退出,并告诉您还需要哪些库文件或者是哪些版本太旧需要更新.如果遇到这种情况,仅弄到含有该库文件的软件包还是不够的,同时还要找到具有该库文件所有头文件的开发包,在Ubuntu中,这样的包一般以-dev作为文件名的结尾.安装好所有需要的库文件后,重新运行配置脚本,直到没有错误提示为止,这说明需要的库文件已经全部安装妥当了即满足了依赖关系. 拥有帝国一切,皆有可能。欢迎访问phome.net 2.编译 当配置脚本成功退出后,接下来要做的就是编译代码了.具体操作为在源文件的主目录中运行make命令: OwnLinux@ubuntu:~/program$ make 这时,您会看到一串编译输出数据迅速从屏幕上滚过,如果正常的话,系统会返回的提示符状态.然而,如果编译过程中出现错误的话,排错的过程可就不像配置步骤那么简单了.,这通常要涉及到源代码的调试,可能源代码有语法错误,或其他错误等等.怎么办?如果您是编程高手,那就自己调试吧!否则,检查该软件的邮件列表等支持渠道,看看是不是已知的bug,如果是就看看别人是怎么解决的,不是就提交一份bug报告吧,也许不久就会有解决办法. 3.安装 当软件成功编译后,一步就是将它们安装到系统上.大部分程序的makefile文件中都会有一个用于安装的函数.需要注意的是,大多时候我们作为root用户来安装程序,这样程序就把文件安装到/usr或其他只有超级用户才有写权限的目录中.依旧是在源文件的主目录下,执行如下命令: OwnLinux@ubuntu:~/program$ sudo make install 好了,这样程序就会安装到您的计算机上了.另外,当您不再使用该程序时,可以使用软件所带的卸载功能,一般程序都会具备此功能.切换至源文件的主目录下,执行以下命令即可: OwnLinux@ubuntu:~/program$ sudo make uninstall 多数情况下,利用上面介绍的方法安装的程序,都位于/usr/local下面.若想让安装的程序文件与Ubuntu巡视的文件系统隔离开的话,可以为命令添加项,如下所示: OwnLinux@ubuntu:~/program$ ./configure –prefix=/opt 尽管这样做一般都是有效的,但是也有例外,有些程序根本不理会项;有些程序如含有内核模块的程序,会把它们自己全部放进您的文件系统. 上面介绍的手工安装软件的方法虽然是针对Ubuntu环境来介绍的,但是各种Linux系统下的从源文件安装应用的方法基本上都大同小异. 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |