第三招 linux下软件的安装
作者:田逸(sery@163.com) 《网管员世界》2005年12期
在linux系统上安装软件是不可避免的事情,尽管我们在安装操作系统时已经默认安装了一些应用软件如apache、vsftpd等。为了让linux服务器按我们的意图工作,我们可能需要购买、下载或自行开发相关的应用程序,然后把它正确的安装到linux服务器系统里。相对于windows的应用程序而言,linux应用软件的安装方法要繁杂一些,因为windows软件安装工作的大部分操作就是用鼠标点击“下一步”或“确定”,然而linux应用软件的安装确是五花八门,毫无定势。即便如此,linux应用软件的安装还是有章可循的,在本节里,我将向大家总结几种常用的linux应用软件的安装之法。
安装前的准备:要安装linux应用程序,需要把安装程序或安装包复制到linux服务器的硬盘上,然后再执行安装。如果欲安装的应用程序需要从网站下载,那么最好先用windows的机器下载,然后用远程管理工具securecrt把软件压缩包传输到linux服务器的硬盘。
一、 rmp包的安装
rpm包是一种为产生软件套件有redhat 开发的软件包格式。它可用于许多gun/linux发行版本上,例如redflag linux。安装rpm形式的软件包很简单,下面以一个安装实例来说明:
1、 命令行下安装。这里我们安装一个基于web的远程管理工具webmin.先检查包文件webmin-1.110-noarch.rpm,确保根用户具有执行权限,然后执行命令 # rpm ╟ivh webmin-1.110-noarch.rpm ,按照提示就可以顺利完成安装。
2、 图形方式下安装。这与安装windows的应用程序相当,用鼠标双击欲安装的rpm包webmin-1.110.noarch.rpm图标,然后根据提示也可顺利完成安装。另外一个安装方法是启用rpm包管理器,然后选取欲安装的rpm包,这种方式也是很方便的。
有时候,我们并不能顺利的进行rpm包的安装,其中一个最大的障碍就是包的依赖关系,换言之,这个包的安装还需要另外的包被安装到系统。一个经验是在安装linux操作系统的时候,尽可能多的安装一些包,比如gcc、gcc+等。如果不怕麻烦,可以选择安装所有的包。还有一个避免措施是安装较新的linux发行版本,因为新版本默认安装包含更多的库和编译器(情况也不完全如此,有的软件包可能需要旧版本的库或编译器)。另外一个引起安装失败的原因是rpm数据库损坏,这是一种不太常见的故障,可以通过修复rpm数据库来解决这个问题-输入命令# rm ╟f /var/lib/rpm/_db.* 删除rpm数据库,再执行命令 # rpm ╟vv - -rebuilddb来重建rpm数据库。
rpm包格式的软件另外一个方便之处是软件升级,当有新的版本时,可以直接升级旧的版本。在命令行下,执行 # rpm ╟uvh <rpm包名> 就可以升级已安装的包成为新的版本。
命令 # rpm ╟e <软件包> -nodeps 用来删除一个已安装的软件包,查看某个软件是否被安装到系统,用命令# rpm ╟qa | grep <软件包> 察看某个软件包是否被安装在linux 服务器上。
二、 srmp包的安装
srmp这种安装方式应用场合不是太多。欲安装的软件包没有二进制版本或者想按照自己的意愿来安装软件包的时候,就需要使用源代码包来进行。按下面的步骤就可以容易的完成srpm包的安装:
1、 下载或拷贝srpm到硬盘。这儿笔者以cpio-2.5-6.src.rpm为例,把这个文件拷贝目录/tmp/upload下。
2、 安装文件cpio-2.5-6.src.rpm,以根用户(root)执行命令 # rpm ╟ivh cpio-2.5-6.src.rpm, 完成后在目录/usr/src/redhat/spec生成文件cpio.spec.
3、 进入目录/usr/src/redhat/spec,运行命令 # rpmbuild ╟ba cpio.spec,执行完毕后在目录/usr/src/redhat/rpms/i386下生成文件cpio-2.5-6.rpm.
三、 gzip/tar软件包的安装
这是linux下最普遍的安装方式。以个人的理解是gzip/tar包似乎比rpm包容易获取,以为很大一部分软件都是以gzip/tar的形式提供下载的。以下面的基本步骤来完成 gzip/tar 软件的安装:
1、 从网络下载或从光盘复制gzip/tar文件到硬盘某个目录。在这里以php-5.0.4.tar.gz为例,笔者把文件php-5.0.4.tar.gz复制到目录/root/upload,修改文件属性 # chmod 700 php-5.0.4.tar.gz。
2、 运行命令 # tar ╟zxvf php-5.0.4.tar.gz 解压完成后生成目录php-5.0.4,相关的目录和文件都在php-5.0.4下。
3、 进入目录php-5.0.4,察看文件install获得在linux平台下的安装方法。
4、 运行命令 # ./c --prefix=/usr/local/php 配置安装环境,参数--prefix=/usr/php的作用是为php的安装指定目录,编译过程是一个异常复杂的行为,也是很灵活的一个功能,比如可以使用 --with-apxs=/usr/local/apache/bin/apxs让php与apache整合起来。配置过程中可以使用很多的参数值,这相对与ms-windows来讲就自由多了。
5、 编译和安装。配置成功完成后,就可以进行编译安装,通常是用命令 # make 和 # make install。
6、 清理安装的临时文件和卸载文件。清除临时文件 # make clear , 卸载软件 # make uninstall 或者删除安装目录 /usr/local/php.
四、 其他类型的安装方法
第一类:二进制文件。只需直接执行文件就行了,如j2sdk-1.4.2-01-linux-i586-rpm.bin,运行命令# ./j2sdk-1.4.2-01-linux-i586-rpm.bin(需要执行权限),然后接着往下完成安装。这个例子运行后生成文件j2sdk-1.4.2-01-linux-i586-rpm,参照标准的rpm包的方式完成安装。
第二类:带安装脚本的压缩包。把包解压后,运行目录里的安装脚本进行安装。这里举两个例子——webmin和sybase ase 12.5_3,从网上下载webmin-1.240.tar.gz 和 ase1253esd1xe_linux.tar.gz , 然后分别解压 # tar --zxvf webmin-1.240.tar.gz , 进入目录webmin-1.240 , 通过阅读readme文件得知安装方法是运行安装脚本 # ./setup.sh,按照给出的提示便可完成安装;运行命令 # tar ╟zxvf w ase1253esdlxe_linux.tar.gz 后,生成安装脚本setup.sh和一大堆目录和文件,不过sybase没有给出install或readme文件,这里就是运行# ./setup.sh进行安装。
没有办法把所有的软件安装方法都列举出来,但是一般而言,软件的开发者都会给出安装方法——通过阅读readme或install文件获得。对于初学者而言,使用rpm包可能要容易一些,但是,如果要真正地掌握linux,体验开放系统的自由和随心所欲,源码安装是不可回避的。
安装软件是系统管理员的日常工作,绝大多数软件的安装还是很容易的,只要你耐心的阅读readme或install文件就可完成安装工作,至于象oracle、sybase那样的大型软件,对于初学者就是一场艰难之旅,这就需要我们花更多的时间来熟悉linux和软件本身,等到可以顺利的安装这些大型软件的时候,你就是一名合格的linux系统管理员了。
2005-11-13 于北京通州