linux软件的安装和卸载
(1)
对于Linux初学者来说,安装一个很小的软件恐怕都是一件很让人头疼的事,因为在Linux下安装软件不像在 Windows中那样简单。在Linux中大多数软件提供的是源代码,而不是现成的可执行文档,这就需要用户根据自己系统的实际情况和自身的需要来配置、 编译源程式后,软件才能使用。多数初学者往往不知道该如何进行配置和编译就盲目地运行一些有执行属性的文档或机械地运行“make”、“make install”之类的命令。结果呢?是软件没装成,自己急出一身汗,后果严重的还会破坏系统的稳定性。下面笔者将安装软件方面的一些规律写出来和大家分 享。
现在流行的软件包有两种比较常见的形式,一种是RPM包的形式,另一种是压缩成*.tar.gz的形式。本文将讨论这两种形式的软件包在文本环境和图像环境(X Window)下不同的安装方法。
文本环境下的软件安装
一、安装简便的RPM包
RPM是RedHat Package Manager的缩写,他只能使用在安装了RPM软件的系统中,RedHat Linux和Turbo Linux中已使用了他。这种结构的包使用起来还是很方便的,只要记住几条简单的命令和参数就能够方便地使用:
#〉rpm [options] filename.rpm
其中常用的options包括:
-i: 安装软件
-e: 卸载软件
-q:查看软件安装的信息和状态
-U: 升级现有软件
例如安装软件时,能够使用如下命令:“rpm -i filename.rpm”,软件安装在什么地方、是怎么安装的都无需用户操心,RPM能够帮助用户管理。由于RPM使用方便,很多软件都有RPM版本。 假如想使用RPM形式的软件就要首先下载一个RPM管理软件。在ftp://ftp.rpm.org/pub/rpm/dist/rpm-version 网站能够下载最新的版本——rpm-3.-.4.i386。该软件有RPM包和.tar.gz包两种形式,假如您的系统中已有了RPM管理软件,您能够下 载RPM形式的包来升级现有软件,否则就必须了解.tar.gz包的安装方法。
二、安装需要编译的.tar.gz包
由于RPM包使用的局限性(必须安装RPM),现在更多的软件使用的是源代码形式的.tar.gz包。这种软件的安装通常要经过解压缩、软件配置、软件编译及安装的过程。
解压缩通常有两种命令方法:一种是“gunzip filename-VERSION-OS.tar.gz | tar xvf -”,他实质是两条命令“gunzip filename-VERSION-OS.tar.gz”和“tar xvf filename-VERSION-OS.tar”;另一种是“tar xzvf filename-VERSION-OS.tar.gz”。 一般来说在软件解压缩后会生成一个目录filename-VERSION-OS。
软件的配置、编译、安装是最让初学者望而生畏的事了,但笔者认为掌控一些规律还是不难的。一般来说,在解压缩生成的目录中都会 有名为Readme、Rnstall或Readme.install之类的文档。这些文档通常会对软件的功能、特性、版权许可、安装连同相关知识加以介 绍,并且会提到关于安装的方法和步骤。举例来说:在apache_1.3.6的install文档中说明了如下内容(此处只列出总的条目,具体内容省 略):
Installing the Apache 1.3 HTTP server with APACI
==============================
1.Overview for the impatient(概括说明配置的全过程)
$./configure--prefix=PREFIX
$make
$make install
$PREFIX/bin/apachectl start
2.Requirements(需要的条件)
3.Configuring the source tree(配置的参数说明)
4.Building the package(编译软件的方法)
5.Installing the package(安装软件的方法)
6.Testing the package(软件测试)
理解并能熟练使用这些说明文档后,就能够利用一些规律来安装大多数的软件。对于那些没有说明文档的软件(当然这种情况比较少见),这些规律通常也是适用的。一般来说,和安装软件有直接关系的文档只有两个:configure 、Makefile。
其中,configure文档具备可执行的属性,是用来配置软件的,他的参数比较多,用法也比较灵活。当然,不同的软件参数也不相同,这时候就需要借助他的help参数,运行下面的命令就会让您感到豁然开朗:
#〉 ./configure -help
Usage: configure [options]
Options: [defaults in brackets after descriptions]
General options:
--quiet, --silent do not print messages
--verbose,-v print even more messages
--sha [=DIR] switch to a shadow tree (under DIR) for building
Stand-alone options:
--help,-h print this message
--show-layout print installation path layout (check and debug)
图1 Gnome运行界面
Installation layout options:
--with-layout=[F:]ID use installation path layout ID (from file F)
--target=TARGET install name-associated files using basename TARGET
……
接下来,就能够运行“./configure [options]”来配置该软件。注意,命令行中的“./”很重要,他告诉系统要运行的命令就在当前目录下(否则系统就会到$path变量指定的路径下 去执行命令)。执行命令后能够生成Makefile文档或修改已有的文档配置。
Makefile文档通常是用来编译和安装软件的。运行make命令时系统会自动根据Makefile文档中的配置对软件进行 编译和安装。make命令有时还能够带一些参数,如:all、build、config、install等。具体要带哪个参数能够参看Makefile文 档。在Linux中绝大部分文档是文本文档,Makefile就是个shell程式(Linux中shell程式和DOS中的批处理文档有很多相似之处, 当然功能要强得多),很容易读懂,尤其是编译时可带的参数都会明确写出,例如:
##========================
## Targets
##========================
# default target
all: build
##------------------------
(2)软件的安装和卸载
《中文版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命令前还需要设置很多系统变量,
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包,但其中
tar -xvzf rarlinux-3.4.1.tar.gz
由于此tar包不包含源代码(也就是说,这是一个编译好的软件安装包),因此不必编译,直接执行安装命令就可以。用cd命令
make install
这样就算安装完了。从安装时的提示信息可以看出,安装程序只是把RAR运行所需的文件复制到特定的目录。如果要卸载,把
例2:WWW服务器软件Apache
假设要建立一个个人WWW网站,允许别人能通过内部局域网访问这个网站,阅读文档或下载软件。网站的网页文件都存在
tar -xvzf httpd-2.0.48.tar.gz
解压后,会形成一个目录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 GB2312
Alias /download/ "/data/pub/"
<Directory "/data/pub">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
/usr/local/apache2/bin/apachectl start
如果希望系统每次启动时自动启动httpd 服务器,则还要做如下工作。首先,拷贝apachectl 到/etc/rc.d/init.d/,并更
cp /usr/local/apache2/apachectl /etc/rc.d/init.d/httpd
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
/usr/local/apache2/bin/apachectl restart
/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就开始安装了。按提示即可完成全部安装过程。默认
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 文件并利用其中的安装程
mkdir /mnt/iso
mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-devel-20040121158.iso /mnt/iso
再查看/mnt/iso,我们发现其中已经有文件了。如图11-1。用鼠标双击autorun 就可以启动开发工具盘中的安装向导程序。
umount /mnt/iso
------------
1对开发工具盘的ISO文件而言,参数iocharset=cp936并不是必须的。只有在挂载含有中文文件名的的ISO文件时,才需要
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包的文件名。转移到
ls -l | grep reciteword
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
rpm -Uvh reciteword*.rpm --nodeps --force
*是文件名通配符,reciteword*.rpm 正好匹配上述5 个文件包。参数nodeps 表示在安装时不检查软件包之间的依赖关
系;force 表示强制安装,即使系统中已经有了要安装的软件包,也会重新安装一遍,新安装的将覆盖原有的。
--------------
2有些软件的各个rpm包之间是有依赖关系的。安装其中某个rpm包,它所依赖的rpm包必须事先安装好,否则安装将无法完
成。为了确定个rpm包之间的依赖关系,可以先尝试随便安装其中某个包,安装程序会自动检测并给出依赖关系提示。手工确定RPM 包
之间的依赖关系是非常麻烦的。
进行rpm包安装时,会出现进程提示。图11-5 上述安装操作的提示信息。
图11-5
安装完成后,从开始菜单中就可以启动“背单词”软件:【开始】→【应用程序】→【我爱背单词】→【背单词】
umount /mnt/iso
软件包管理器
为了编译软件包的管理,可以使用软件包管理器。【开始】→【设置】→【控制面板】→【软件包管理器】软件包管理器有
三个标签,分别是用户软件包、系统软件包和其他工具。如果想查看安装Linux操作系统是,已经自动安装了哪些软件包,可以查看
“系统软件包”。如图11-6。这里的软件包对系统运行很重要,除非特别清楚自己干什么,否则不要随便卸载它们。如果想安装或卸
载应用软件包,可以使用“用户软件包”标签。如图11-7,列出了已经安装的一些应用软件包。选中某软件包,点“卸载软件包”按
钮,就可以进行卸载操作了。其效果等效于带-e 参数的rpm命令。
图11-6
图11-7
转载:http://blog.chinaunix.net/uid-25572546-id-1995028.html