软件的安装和卸载

《中文版Linux 桌面操作系统初级教程》郭守华 宋雪娇 编著

概述

         一般的Linux系统套件都包含了丰富的应用程序,但有时并不能满足实际需要。这时就要涉及

到对低版本软件的卸载、安装新版本软件,或者安装全新的应用软件。

        简单的软件可能只包含一个可执行文件。但Linux系统中运行的大部分应用软件要复杂得多。

一般的应用程序或工具软件都会由多个可执行文件、配置文件、文档组成,有的还会涉及库文件。把所

有这些文件以及其存储位置的信息统一存储到在一起,就形成了安装包。讨论应用程序的安装和升级,

就是要讨论对这些安装包的安装和维护。

        在linux系统中,安装包有多种格式。本章将一般性地介绍TAR 源码包和RPM包及其操作方法,

实际使用时,会出现这样那样的差异。读者应结合本章的实例,学习对软件包的管理和维护。

提示:对软件包的管理和维护,需要以root身份进行。

TAR源码包

        tar源码包是在Linux环境下经常使用的一种源码发布的软件包。tar包文件一般都以

“.tar.gz” 或“.tar.bz2”作为扩展名。比如,httpd-2.0.48.tar.gz,httpd 就是软件的名字,

也就是提供WWW服务的Apache服务器软件,2.0.48 则是这个安装包的版本号,.tar.gz 表示这是一个经

过gzip 压缩的tar 包。再比如,kdevelop-3.1.0.tar.bz2,kdevelop 是软件的名字,这个软件提供

了Linux 下的C++集成开发环境,版本为3.1.0,其扩展名tar.bz2表明它是一个经过bzip 压缩的tar

包。

        用tar包安装软件的一般过程是:首先,解开tar包,解包后一般都会形成一个以软件名命名的

目录;用其次,cd命令转移到这个目录,依次执行配置、编译和安装命令,安装工作就完成了;安装

后,一般应清理一下安装过程中的一些临时文件。

         下面是解tar 包的命令例子:

         tar -xvzf httpd-2.0.48.tar.gz

         tar -xvjf httpd-2.0.52.tar.bz2

         配置、编译和安装命令一般是如下三条:

         ./configure

         make

         make install

         清理临时文件的命令如下:

         make clean

         如果要卸载,则执行如下的命令。

         make uninstall

RPM包

        对于小型软件,按上述方法安装是可以的。但对于比较复杂的软件,运行configure命令前还需要设置很多系统变量,

configure命令本身也会要求提供复杂的参数。在安装前,必须自己检查文件的依赖关系。这对于初学者是比较困难的。为了简化软件

包的安装,就出现了一种被称为RPM 的软件包。RPM 包也是非常常见的一种软件包。使用它安装软件,只需执行简单的命令即可。不

需要人工检查依赖关系。操作RPM 包的命令无非是安装和卸载两种。

安装的命令如下:

       rpm -Uvh Kdevelope-3.1-1.rpm

其中,kdevelope-3.1-1.rpm 是相应的RPM 包文件名,对应的软件包名就是kdevelope,版本号为3.1-1。

      如果要卸载kdevelope,则执行如下的命令。

      rpm -e kdevelope

软件包安装案例

例1:RAR for Linux

       要想在红旗Linux4.1桌面版操作rar 格式的压缩文件,必须安装RAR for Linux。RAR for Linux的软件包是tar包,但其中

并没有源代码。以RAR 3.41 for Linux为例,其安装包的文件名是rarlinux-3.4.1.tar.gz。安装此软件的第一步是解压缩,用cd命

令转移到rarlinux-3.4.1.tar.gz所在的目录,然后执行下面的命令。解压后,会形成一个目录rar。

       tar -xvzf rarlinux-3.4.1.tar.gz

       由于此tar包不包含源代码(也就是说,这是一个编译好的软件安装包),因此不必编译,直接执行安装命令就可以。用cd命令

转移到解压生成的那个rar 目录执行安装命令。

       make install

       这样就算安装完了。从安装时的提示信息可以看出,安装程序只是把RAR运行所需的文件复制到特定的目录。如果要卸载,把

这些文件删除即可。

例2:WWW服务器软件Apache

        假设要建立一个个人WWW网站,允许别人能通过内部局域网访问这个网站,阅读文档或下载软件。网站的网页文件都存在

/mnt/WinD/www123下,首页文件名是index.html,可供下载的软件存在/data/pub下。要达到目的,需要安装Apache服务器软件。下

载得到Apache服务器软件的安装包是httpd-2.0.48.tar.gz,这是一个标准的含有源码的tar包。其中,2.0.48是版本号。按典型的

tar 源码包的安装方法即可。

具体步骤如下:1、解压缩。用cd 命令转移到httpd-2.0.48.tar.gz所在的目录然后执行:

         tar -xvzf httpd-2.0.48.tar.gz

         解压后,会形成一个目录httpd-2.0.48

2、编译和安装转移到解压生成的那个httpd-2.0.48目录

依次执行如下命令:

        ./configure

        make

        make install

        make clean

        这样就算安装完了。

        接下来要修改配置文件/usr/local/apache2/conf/httpd.conf来控制服务器软件,使其按要求运行。

        首先,修改Listen行,确定服务的IP 地址和端口号:

        Listen 10.1.30.144:80

        说明:10.1.30.144是当前计算机的内网IP 地址,通过80 端口提供Web 服务。此项不特意设也可,默认端口就是80。

        其次,修改DocumentRoot ,设定主页所在的根目录。修改后形成如下两行:

        DocumentRoot "/mnt/WinD/www123"

        <Directory "/mnt/WinD/www123">

        第三,修改DirectoryIndex行,确认首页的文件名在其中。如果没有就追加上。

        DirectoryIndex index.html index.html.var

        第四,修改AddDefaultCharset行,将默认编码改为GB2312,这样保证主页上的汉字能正常显示。修改后的

AddDefaultCharset行是:

        AddDefaultCharset GB2312

第五,增加一个Alias,把/data/pub映射为网站根目录下的download目录。增加的内容如下:

        Alias /download/ "/data/pub/"

        <Directory "/data/pub">

        Options Indexes MultiViews

        AllowOverride None

        Order allow,deny

        Allow from all

        </Directory>

上述五步配置的目的是使局域网的其他计算机能用http://10.1.30.144/这个网址访问我的网站了。要下载存放在/data/pub/的软

件,则输入http://10.1.30.144/download/就可以看到文件列表。安装配置好之后,运行下面的命令是就可以启动这个WWW服务器

了。

        /usr/local/apache2/bin/apachectl start

        如果希望系统每次启动时自动启动httpd 服务器,则还要做如下工作。首先,拷贝apachectl 到/etc/rc.d/init.d/,并更

名为httpd ,相应的命令是:

        cp /usr/local/apache2/apachectl /etc/rc.d/init.d/httpd

然后,修改/etc/rc.d/init.d/httpd中的ARGV 行,改成:

        ARGV="start"

        最后,在/etc/rc.d/rc5.d目录下,创建一个指向httpd 的连接。相应的命令是:

        ln /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd

        为了保证在字符模式下启动红旗也能提供Web 服务,还要在/etc/rc.d/rc3.d目录下,创建一个指向httpd的连接。相应的命

令是:

        ln /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd

提示:

若要重启动这个WWW服务器

       /usr/local/apache2/bin/apachectl restart

若要关闭WWW 服务

       /usr/local/apache2/bin/apachectl stop

例3:RedOffice办公套件

       目的:在Windows下,可以用MS office套件处理处理文档、表格、演示稿等文件。那么在Linux下也需要这样的软件来处理类

似的工作,并且这个软件一定能处理过去在Windows下生成的这类文件。操作:安装RedOffice For Linux V2.0个人版。RedOffice

个人版相对RedOffice标准版进行了一些功能裁减,这些功能是:宏、数据源、文献数据库、新建标签/名片/HTML等文档类型的功能、

自动文件助理、插入动态框、插入区域、图像地图、插入Applet对象/Plug-in 对象、与Java/XML相关的功能。RedOffice个人版无需

安装密码,没有时间限制,可以由个人用户免费、自由地下载、安装和试用。下载得到的RedOffice 安装包名字为

RedOffice2.0_ForLinux.tar.gz,它虽然以.tar.gz结尾,但不是包含源代码的那种tar包,而是一个带安装向导的软件包。

         要解开包,只需执行下面的命令。解压后会形成一个名为RedOffice2.0_ForLinux的文件夹。

         tar -xvzf RedOffice2.0_ForLinux.tar.gz

         接下来在图形界面中进入RedOffice2.0_ForLinux文件夹,双击setup就开始安装了。按提示即可完成全部安装过程。默认

的安装路径是在/root/RedOffice2.0-PE之下。按Linux 管理程序的习惯,应将其修改为/usr/local/RedOffice2.0-PE。安装完成

后,要适当修改RedOffice的某些目录的权限,以防止其他用户使用该软件时出现安全备份错误。相应的命令有:

        chmod 777 /usr/local/RedOffice2.0-PE/user/backup

        chmod 777 /usr/local/RedOffice2.0-PE/user/basic

        安装程序已自动把RedOffice各组件启动的快捷方式放到开始菜单里了。

例4:C++集成开发环境Kdevelop

        在红旗Linux4.1的开发工具盘中,提供了集成开发环境Kdevelop3.0.92。可以下载相应的ISO 文件并利用其中的安装程

序,安装之。安装的第一步,是要挂载红旗Linux4.1的开发工具盘的ISO文件RedFlag4-devel-20040121158.iso,以便读取其中的内

容。挂载前需要选择挂载点。假设在/mnt下创建一个iso目录,专门用于挂载ISO文件。未挂载前,查看此目录,是空的。

       mkdir /mnt/iso

确定了挂载点之后,就可以执行mount 命令进行挂载了。先用cd 命令转移到RedFlag4-devel-20040121158.iso所在的目录,然后执

行如下命令1:

      mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-devel-20040121158.iso /mnt/iso

      再查看/mnt/iso,我们发现其中已经有文件了。如图11-1。用鼠标双击autorun 就可以启动开发工具盘中的安装向导程序。

在选择软件包的窗口列表中,选中kdeools 分组(如图11-2),点击“下一步”按钮就可以自动把Kdevelop安装到系统中。安装完成

后,从开始菜单中就可以启动Kdevelop:【开始】→【应用程序】→【软件开发】→【Kdevelop】如果不再需要读取开发工具盘的ISO

文件,应该及时卸载它,命令如下。卸载后查看/mnt/iso,会发现它又空了。

      umount /mnt/iso

------------

     1对开发工具盘的ISO文件而言,参数iocharset=cp936并不是必须的。只有在挂载含有中文文件名的的ISO文件时,才需要

iocharset=cp936这个参数以确保中文文件名的正确显示。不使用iocharset=cp936 时的命令应该是这个样子:

    mout -t iso9660 -o loop RedFlag4-devel-20040121158.iso /mnt/iso

图11-1

图11-2

例5:“我爱背单词”

         背单词软件是比较流行的一种学习软件,很多人都用它一边背单词,一边练习指法。可以从红旗Linux4.1的工具盘中找到背

单词软件的安装包。当然可以用例4中提到的方法,借助工具盘中的安装程序安装这个软件。这里介绍用rpm 命令的安装方法。第一

步,从工具盘中提取需要的rpm包。先挂载相应的ISO文件:

        mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-tool.iso /mnt/iso

然后借助autorun 看背单词安装包包括哪些rpm包。如图11-3。

图11-3

         图中打勾的软件包就是“背单词”软件所必须的。根据这些信息,可以猜测出“背单词”软件所需RPM包的文件名。转移到

/mnt/iso/RedFlag/RPMS目录下,执行ls命令并以reciteword 关键词过滤,就可以找到相应的rpm包了,如图11-4。

         ls -l | grep reciteword

图11-4

可以先把这5 个文件复制到一个单独的目录里备用。第二步,安装rpm包。

可以执行如下命令安装“背单词”软件的5 个rpm包2。

        rpm -Uvh reciteword-0.8.1-10.i386.rpm

        rpm -Uvh reciteword-books-0.8.1-2.i386.rpm

        rpm -Uvh reciteword-dicts-0.8.1-2.i386.rpm

        rpm -Uvh reciteword-RealPeopleTTS-0.8.1-2.i386.rpm

        rpm -Uvh reciteword-skins-rw-0.8.1-2.i386.rpm

也可以执行如下一条命令来安装这5 个包:

        rpm -Uvh reciteword*.rpm --nodeps --force

        *是文件名通配符,reciteword*.rpm 正好匹配上述5 个文件包。参数nodeps 表示在安装时不检查软件包之间的依赖关

系;force 表示强制安装,即使系统中已经有了要安装的软件包,也会重新安装一遍,新安装的将覆盖原有的。

--------------

        2有些软件的各个rpm包之间是有依赖关系的。安装其中某个rpm包,它所依赖的rpm包必须事先安装好,否则安装将无法完

成。为了确定个rpm包之间的依赖关系,可以先尝试随便安装其中某个包,安装程序会自动检测并给出依赖关系提示。手工确定RPM 包

之间的依赖关系是非常麻烦的。

进行rpm包安装时,会出现进程提示。图11-5 上述安装操作的提示信息。

图11-5

         安装完成后,从开始菜单中就可以启动“背单词”软件:【开始】→【应用程序】→【我爱背单词】→【背单词】

软件安装完成后,不要忘记把ISO文件卸载。

         umount /mnt/iso

软件包管理器

         为了编译软件包的管理,可以使用软件包管理器。【开始】→【设置】→【控制面板】→【软件包管理器】软件包管理器有

三个标签,分别是用户软件包、系统软件包和其他工具。如果想查看安装Linux操作系统是,已经自动安装了哪些软件包,可以查看

“系统软件包”。如图11-6。这里的软件包对系统运行很重要,除非特别清楚自己干什么,否则不要随便卸载它们。如果想安装或卸

载应用软件包,可以使用“用户软件包”标签。如图11-7,列出了已经安装的一些应用软件包。选中某软件包,点“卸载软件包”按

钮,就可以进行卸载操作了。其效果等效于带-e 参数的rpm命令。

图11-6

图11-7