Chinaunix首页 | 论坛 | 博客
  • 博客访问: 280457
  • 博文数量: 47
  • 博客积分: 1455
  • 博客等级: 上尉
  • 技术积分: 385
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-26 08:59
文章分类

全部博文(47)

文章存档

2012年(1)

2011年(1)

2009年(23)

2008年(22)

我的朋友

分类: LINUX

2009-04-11 15:45:36

Linux下软件的安装
 

关键字 Linux下软件安装 unix下软件安装 tar.gz软件包安装 rpm软件包安装

作者:

在Linux系统中,软件比较纷繁复杂,不过最常见的有两种:

1)一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的包(后缀为.tar.gz)。
2)另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常被是一个RPM包( Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。

  当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包。只要您理解了以下的思路,这两种形式的安装包也不在话下了。

  下面,我们就分成两个部分来说明软件安装思路:

第一部分:搞定.tar.gz

  1.首先,使用tar -xzvf来解开这个包,如:
  #tar -xzvf _1_3_6_tar.gz
  这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似),用来存放了的内容。如本例中就是apache_1.3.6

  2.进入这个目录,再用ls命令查看一下所包含的文件,如:
  #cd apache_1.3.6
  #ls
  你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。
1)如果是configure文件,就执行:
  #./configure
  #make
  #make install
2)如果是Makefile文件,就执行:
  #make
  #make install
3)如果是Imake文件,就执行:
  #xmkmf
  #make
  #make install

3.如果没有出现什么错误提示的话,就搞定了。至于软件安装到什么地方,通常会在安装时出现。否则就只能查阅一下README,或者问问我,:-)

  如果遇到错误提示,也别急,通常是十分简单的问题:
1)没有安装C或C++编译器;
  确诊方法:执行命令gcc(C++则为g++),提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
  #rpm -ivh gcc* (哈哈,我们用到了第二种安装方式)
2)没有安装make工具;
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
  #rpm -ivh make*
3)没有安装autoconf工具;
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
  #rpm -ivh autoconf*
4)缺少某些链接库;
  确诊方法:在make时,提示需要某些文件。
  解决方法:安装包含这个文件的包,这就需要积累了。

第二部分:搞定.rpm

 一.命令方式管理

RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

  1.安装软件:执行rpm -ivh rpm包名,如:
  #rpm -ivh apache-1.3.6.i386.rpm
  2.升级软件:执行rpm -Uvh rpm包名。
  3.反安装:执行rpm -e rpm包名。
  4.查询软件包的详细信息:执行rpm -qpi rpm包名
  5.查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名
  6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名

二.图形界面工具管理

  相对命令方式来说,在图形环境下,安装、升级、卸载和查询RPM软件包是一件非常简单轻松的事情,因为Linux提供了几个功能强大的RPM包管理工具。我们推荐使用Linux的图形管理工具来维护RPM软件包,GNOME中的GnoRPM和KDE中的Kpackage就是功能强大的RPM 包管理工具。由于国内用户使用的中文Linux发行版本中最常见的窗口管理器是KDE,下面笔者就以KDE中Kpackage为例,介绍如何使用RPM包管理工具。

  点击Start(开始)→System tools(系统工具)→Kpackage,出现Kpackage界面,同时分析Linux系统中的 RPM数据库。它将安装好的RPM包形式的软件按照功能分在Amusements、Application、Development、Document、 Extension、Extentions、Networking、System Environment、User Interface以及X11等几个树形目录中,每个目录中有相应的文件图标和名称。要安装或升级软件,只要点击工具栏的相应按钮就会弹出打开文件的对话框,选中要安装的RPM文件,单击OK按钮,如果不缺必要的运行库,就开始安装软件了。卸载软件时,用鼠标选择相应的软件,单击右边的Uninstall按钮就可以了

在Windows下安装软件时,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装。在Linux下安装软件对初学者来说,难度高于Windows下软件安装。下面我就详细讲解Linux下如何安装软件。

     先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.deb是Debain Linux提供的一种包封装格式;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。

     RPM格式软件包的安装

     1.简介
     几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。

     RPM全称是Red Hat Package Manager(Red Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。RPM示意图见图1。


图1 RPM结构示意图


     大多数Linux RPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型-MYsoftware-1.2 -1.i386.rpm 。

     2.安装RPM包软件
     # rpm -ivh MYsoftware-1.2 -1.i386.rpm

     RPM命令主要参数:

-i   安装软件。
-t   测试安装,不是真的安装。
-p   显示安装进度。
-f   忽略任何错误。
-U   升级安装。
-v   检测套件是否正确安装。


     这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。

     3.卸载软件
     # rpm -e 软件名

     需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行:
     #rpm -e software

     4.强行卸载RPM包
     有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息:

## rpm -e xsnow
error: removing these packages would break dependencies:
         /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1


     在这种情况下,可以用--force选项重新安装xsnow:

## rpm -ivh --force xsnow-1.41-1.i386.rpm
xsnow


     这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。详细情况请查看2003年《开放系统世界》第12期。

     5.安装.src.rpm类型的文件
     目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。
     rpm --rebuild Filename.src.rpm

     这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:
     rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm

     使用deb打包的软件安装

     deb是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管理器dpkg只出现在Debina Linux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具。

     1. 安装
     # dpkg -i MYsoftware-1.2.-1.deb

     2. 卸载
     # dpkg -e MYsoftware

     使用源代码进行软件安装

     和RPM安装方式相比,使用源代码进行软件安装会复杂一些,但是用源代码安装软件是Linux下进行软件安装的重要手段,也是运行Linux的最主要的优势之一。使用源代码安装软件,能按照用户的需要选择定制的安装方式进行安装,而不是仅仅依靠那些在安装包中的预配置的参数选择安装。另外,仍然有一些软件程序只能从源代码处进行安装。

     现在有很多地方都提供源代码包,到底在什么地方获得取决于软件的特殊需要。对于那些使用比较普遍的软件,如Sendmail,可以从商业网站处下载源代码软件包(如 )。一般的软件包,可从开发者的Web站点下载。下面介绍一下安装步骤:

     1.解压数据包
     源代码软件通常以.tar.gz做为扩展名,也有tar.Z、tar.bz2或.tgz为扩展名的。不同扩展名解压缩命令也不相同,见表1。

     2.编译软件
     成功解压缩源代码文件后,进入解包的目录。在安装前阅读Readme文件和Install文件。尽管许多源代码文件包都使用基本相同的命令,但是有时在阅读这些文件时能发现一些重要的区别。例如,有些软件包含一个可以安装的安装脚本程序(.sh)。在安装前阅读这些说明文件,有助于安装成功和节约时间。

     在安装软件以前要成为root用户。实现这一点通常有两种方式:在另一台终端以root用户登录,或者输入“su”,此时系统会提示输入root用户的密码。输入密码以后,就将一直拥有root用户的权限。如果已经是root用户,那就可以进行下一步。

     通常的安装方法是从安装包的目录执行以下命令:

gunzip soft1.tar.gz
cd soft1
#. /configure #配置#
make #调用make#
make install   #安装源代码#


     删除安装时产生的临时文件:
     #make clean

     卸载软件:
     #make uninstall

     有些软件包的源代码编译安装后可以用make uninstall命令卸载。如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,应该在编译前进行配置。

     .bin文件安装

     扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包,例如,流媒体播放器RealONE。如果安装过RealONE的Windows版的话,那么安装RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常简单了:
     #chmod +x r1p1_linux22_libc6_i386_a1.bin
     ./ r1p1_linux22_libc6_i386_a1.bin

     接下来选择安装方式,有普通安装和高级安装两种。如果不想改动安装目录,就可选择普通安装,整个安装过程几乎和在Windwos下一样。

     .bin文件的卸载,以RealONE for Linux为例,如果采用普通安装方式的话,在用户主目录下会有Real和Realplayer9两个文件夹,把它们删除即可。

     Linux绿色软件

     Linux也有一些绿色软件,不过不是很多。Linux系统提供一种机制:自动响应软件运行进程的要求,为它设定好可以马上运行的环境。这种机制可以是一种接口,或者是中间件。程序员编写的程序可以直接拷贝分发,不用安装,只要点击程序的图标,访问操作系统提供的接口,设定好就可以工作。若要删除软件,直接删除就可以,不用链接文件。这是最简单的软件安装、卸载方式。

     上面介绍了Linux软件安装的方法,对于Linux初学者来说,RPM安装是一个不错的选择。如果想真正掌握Linux系统,源代码安装仍然是Linux下软件安装的重要手段。

阅读(714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~