作者:zieckey (zieckey@yahoo.com.cn)
All rights reserved.
当前LINUX的软件包通常可以从发行版本光盘或从互联网上找到。
其一般格式分源代码与可执行码两种。为节省磁盘空间或下载时间,绝大部分的软件都在打包后以压缩文件方式存在。
下面,我们就一起来解决软件Linux下软件安装的问题。
一、解析Linux应用软件安装包:
通常Linux应用软件的安装包一般是如下两种情况:
1) tar包,如:httpd-2.0.59.tar.bz2、sqlite-3.0.8.tar.gz 。它是使用UNIX系统的打包工具tar打包的。
2) rpm包,如:wu-ftpd-2.6.2-12.i386.rpm 。它是Redhat Linux提供的一种包封装格式。
而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:
名称-版本-修正版-类型
例如:
1) software-1.2.3-1.tar.gz 意味着:
软件名称:software
版本号:1.2.3
修正版本:1
类型:tar.gz,说明是一个tar包。
2) sfotware-1.2.3-1.i386.rpm
软件名称:software
版本号:1.2.3
修正版本:1
可用平台:i386,适用于Intel 80x86平台。
类型:rpm,说明是一个rpm包。
注:由于rpm格式的通常是已编译的程序,所以需指明平台。在后面会详细说明。
二、 了解包里的内容:
一个Linux应用程序的软件包中可以包含两种不同的内容:
1) 一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
2) 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。
三、搞定使用tar打包的应用软件
1. 安装:
整个安装过程可以分为以下几步:
1) 取得应用软件:通过下载、购买光盘的方法获得;
2) 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
3) 阅读附带的INSTALL文件、README文件;
4) 执行“./configure”命令为编译做好准备;
5) 执行“make”命令进行软件编译;
6) 执行“make install”完成安装;
7) 执行“make clean”删除安装时产生的临时文件。
好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
下面我们以httpd-2.0.59.tar.bz2软件的安装为例,说明tar包的安装方法。
1) 取得应用软件:通过下载、购买光盘的方法获得:这个包可以在教育网内很多地方下载得到。
ftp://202.115.128.133/pub2/linux/network/server/web/apache/ 这个ftp比较快
下载后放到 /tmp 目录下
[root@localhost root]# cp httpd-2.0.53.tar.gz /tmp/
2) 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
[root@localhost root]# cd /tmp
[root@localhost tmp]# tar zxvf httpd-2.0.53.tar.gz
[root@localhost tmp]# cd httpd-2.0.53
3) 阅读附带的INSTALL文件、README文件;
[root@localhost httpd-2.0.53]# cat INSTALL
APACHE INSTALLATION OVERVIEW
Quick Start - Unix
------------------
For complete installation documentation, see [ht]docs/manual/install.html or
http://httpd.apache.org/docs-2.0/install.html
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
4) 执行“./configure”命令为编译做好准备;
看到上面的 INSTALL 文件已经给出了安装的方法。我照着它一步一步来就行了。
[root@localhost httpd-2.0.53]# mkdir /usr/local/apache
[root@localhost httpd-2.0.53]# ./configure --prefix=/usr/local/apache
5) 执行“make”命令进行软件编译;
[root@localhost httpd-2.0.53]# make
这一步一般需要很长时间。
6) 执行“make install”完成安装;
[root@localhost httpd-2.0.53]# make install
7) 执行“make clean”删除安装时产生的临时文件。
[root@localhost httpd-2.0.53]# make clean
至此我们已经安装好了这个软件。那么我们可以打开这个软件用用。
[root@localhost httpd-2.0.53]# /usr/local/apache/bin/apachectl start &
然后在WEB浏览器下输入:http://127.0.0.1/ 看看效果如何
2. 卸载:
通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。
其实,linux下软件安装后一般只在一个文件夹下,那么只需要删除那个文件夹就可以了
四、搞定使用rpm打包的应用软件
rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。
1. 安装:
我们只需简单的一个命令就可以安装rpm包了。执行:
rpm –ivh rpm软件包名
更高级的,请见下表:
rpm参数 参数说明
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略任何错误
-U 升级安装
-v 检测套件是否正确安装
这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
2. 卸载:
我同样只需简单的一句话,就可以说完。执行:
rpm –e 软件名
不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
rpm –ivh software-1.2.3-1.i386.rpm
而当卸载时,则应执行:
rpm –e software。
另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。