安装Linux应用软件的五种基本方法

时间:2022-03-28 08:18:45

要充分发挥电脑的作用,就得有大量的应用软件,完成不同的工作。在Windows环境中安装各种应用软件的思路与方法,想必大家早已熟悉。然而,在使用Linux时,我们却总会被这些本不应该是问题的问题所困扰:怎么安装应用软件?我的软件安装在什么地方?如何删除不要的应用软件?……

 

  下面,我们就一起来认识一下这些方面的知识。

一、解析Linux应用软件安装包

  通常Linux应用软件的安装包有三种:

  1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。

  2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。

  3) dpkg包,如software-1.2.3-1.deb。它是Debain 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格式的通常是已编译的程序,所以需指明平台。在后面会详细说明。

  而software-1.2.3-1.deb就不用再说了吧!大家自己练习一下。

二、了解包里的内容

  一个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文件,一般都会有说明。

    假如你已经得到一张包含linux应用程序安装套件的光盘,其中的压缩文件为prozilla-0.99.9.4.tar.gz.
  请打开一终端窗口或退出x-window,再执行下列步骤:
  步骤一:由光盘中获得prozilla-0.99.9.4.tar.gz.
  步骤二:执行命令tar zxvf prozilla-0.99.9.4.tar.gz,解开压缩文件至任一目录下.
  步骤三:执行命令cd prozilla-0.99.9,切换到解开的目录中.
  步骤四:执行命令./configure,进行安装设置.
  步骤五:待设置完成后,再分别执行命令make;make install;make clean.
  步骤六:执行命令gproz -h &.
  步骤七:检测安装结果.

  2. 卸载:

  通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。

  那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。它们的使用方法,笔者会另行文介绍。在此就不加赘述了。

四、搞定使用rpm打包的应用软件

  rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。

  1. 安装:

  我只需简单的一句话,就可以说完。执行:

   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工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。

2、RPM包管理

 

        包管理系统初步:
        RPM:RPM Package Manager        
        http://www.rpm.org
        RPM包管理系统:
                $ rpm
        RPPM包的文件名称:
           bash-3.0-19.2.i386.rpm
                bash:软件名称。
                3.0-19.2:软件的版本号。
                i386:软件所运行的最低硬件平台。
                rpm:文件的扩展名,用来标识当前文件是rpm格式的软件包。
        RPM包管理功能:
            rpm命令配合不同的参数可以实现以下的rpm包的管理功能:
                查询已安装在linux系统中的RPM软件包的信息。
                查询RPM软件包安装文件的信息。
                安装RPM软件包到当前linux系统。
                从当前linux系统中卸载已安装的RPM软件包。
                从当前linux系统中升级已安装的RPM软件包。


使用rpm命令查询软件包:
        1、查询系统中安装的所有RPM包
                $ rpm  -qa                                      查询当前linux系统中已经安装的软件包。
                例:$ rpm -qa | grep -i x11 | head -3  察看系统中包含x11字符串的前3行软件包。
        2、查询软件包是否安装
                $ rpm –q rpm包名称                        察看系统中指定软件包是否安。
                例: $ rpm -q bash                            察看系统中bash软件包是否安装。
           "rpm -q"命令中指定的软件包名称需要准确的拼写,该命令不会在软件包的名称中进行局部匹配的查询。
        3、查询已安装软件包详细信息
                $ rpm –qi RPM包名称                       查询linux系统中指定名称软件包的详细信息。
                例:$ rpm -qi bash                          察看bash软件包的详细信息。
           "rpm -qi"命令的执行结果中包含较详细的信息,包括:软件名称,版本信息,包大小,描述,等。
        4、查询已安装软件包中的文件列表
                $ rpm –ql RPM包名称                       查询已安装软件包在当前系统中安装了哪些文件。
                例:$ rpm -ql bash | head -3            查看bash软件在系统中已安装文件的前3行文件列表。
                    $ rpm -ql bash | grep bin             用过滤方式察看bash中包含bin字符串的文件列表。
        5、查询系统中文件所属的软件包
                $ rpm –qf 文件名称    查询linux系统中指定文件所属的软件包。
                例:$ rpm -qf /bin/bash                   察看bash文件所属的软件包。
                    bash-3.0-19.2      显示结果。
        6、查询RPM安装包文件中的信息
                $ rpm –qpi RPM包文件名                  察看RPM包未安装前的详细信息。
                $ rpm –qpl RPM包文件名                  察看RPM包未安装前的文件列表。
           "rpm -qpi和rpm -qpl 这两条命令可作为在安装软件包之前对其的了解。
        7、rpm命令查询实例
                $ which mount                               获得mount命令的可执行文件路径。
                $ rpm –qf  /bin/mount                     查询/bin/mount所属的软件包。
                $ rpm –qi util-linux                           查询/bin/mount所属软件包的详细信息。
                $ rpm –qf util-linux | grep mount       查询/bin/mount所属软件包中包括mount相关所有文件。


使用rpm命令安装软件包
        1、rpm软件包地基本安装
                $ rpm –i  rpm安装包文件名                安装该软件包中的文件到当前系统,安装过程不提示任何信息。
        2、在安装软件包的同时显示详细信息
                $ rpm –ivh rpm安装包文件                 安装该软件包中的文件到当前系统,安装过程会以百分比的形式
                                                                    显示安装的进度和一些其他信息。
        3、RPM软件包安装的依赖关系
                强制安装:$ rpm  --force  –i  rpm包文件名
            注:要先满足软件包的依赖关系后再进行软件包的安装,使用强制安装命令安装不能保证软件安装到系统后一定能
                  正常运行,因此建议慎重使用。

使用rpm命令卸载软件包:
        1、RPM软件包的卸载
                $ rpm  -e  软件包名称                       软件包的卸载,在卸载时不显示任何信息。
            注:RPM软件包的卸载同样存在依赖关系,只有在没有依赖关系存在时才能对其进行卸载。
        2、rpm软件包卸载的依赖关系
                  在使用RPM命令进行卸载时,RPM命令会分析要卸载的软件包的依赖关系,当存在依赖关系时会自动停止,并显由   
                  哪个软件造成的卸载失败。根据RPM提示的错误信息,确定先卸载的软件包,再卸载被依赖的软件包。

使用rpm命令升级软件包:
        $ rpm  - U  rpm安装包文件名
            注:"rpm -u"命令中使用的升级软件包文件最好使用RED HAT公司针对当前的linux版本官方推出的升级文件,建议不要  
                  使用第三方提供的升级包。
   
应用程序编译
        开放源代码应用程序的编译安装
        (下面以多线程下载软件"prozilla"的源代码编译安装为例来说明源代码编译安装的整个过程)
        编译应用程序前的准备工作:

        1、确认系统中已经安装了编译环境
                $ rpm  -qa  | grep gcc                       确定当前系统中安装了gcc编译器环境。

        2、下载prozilla程序的源代码安装包文件
                 略

        3、释放已下载的源代码软件包文件
                $ tar jxf prozilla-2.0.4.tar.bz2              释放以下载的源代码软件包文件到当前目录。解压后的文件
                                                                     名:prozilla-2.0.4
           扩展:tar的xzvf参数用于释放以tar.gz格式的压缩包。

        4、进入源代码目录
                $ cd prozilla-2.0.4                             进入目录。
                $ pwd                                            显示当前目录路径。
                /home/teacher/download/prozilla-2.0.4      显示结果。
           编译软件安装的路径:
                $ ./configure --prefix=/home/teacher/proz  
                在prozilla程序的配置中,使用"--prdfix"选项可以指定应用程序编译后的安装路径,如果不使用"--prefix"
                选项指定安装路径,configure程序将配置prozilla的默认安装路径为"/usr/local/bin"目录。
         5、程序编译过程
                $ make                                           使用make命令进行程序的二进制编译。
        6、程序安装过程
                $ make install
                "make install"命令将按照configuer命令的"--prefix"选项中设定的安装路径将已编译完成的应用程序安装
                 到目标目录。
        7、验证编译安装的程序
                $ ls /home/teacher/proz                    察看proz文件夹中的文件。
                bin  include lib man share
        
        
        编译前的配置
                $ ./configure  - - help                    
        编译与安装:
        1、程序编译过程
                $ make
        2、程序安装过程
                $ make install
        3、验证编译安装的程序

五、搞定使用deb打包的应用程序

  这是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。我们在此就简单地说明一下:

  1. 安装

   dpkg –i deb软件包名

   如:dpkg –i software-1.2.3-1.deb

  2. 卸载

   dpkg –e 软件名

   如:dpkg –e software

  好了,就说到这,希望能够帮助大家找到北