灌溉梦想,记录脚步
« »
2008年4月10日技术合集

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作为文件名的结尾。安装好所有需要的库文件后,重新运行配置脚本,直到没有错误提示为止,这说明需要的库文件已经全部安装妥当了即满足了依赖关系。

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系统下的从源文件安装应用的方法基本上都大同小异

日志信息 »

该日志于2008-04-10 11:48由 admin 发表在技术合集分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

发表回复