软件的安装和卸载
《中文版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