首页 百科知识 5.5.1文本环境下的软件安装

5.5.1文本环境下的软件安装

时间:2022-10-15 百科知识 版权反馈
【摘要】:如果想使用RPM形式的软件就要首先下载一个RPM管理软件。例如,在apache_1.3.6的install文件中说明了如下内容:理解并能熟练使用这些说明文件后,就可以利用一些规律来安装大多数的软件。Makefile文件通常是用来编译和安装软件的。yum的理念是使用一个中心仓库管理一部分甚至一个Distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等操作,减少用户一直头痛的依赖关系。假设文件为mybin,可以使用下面的命令来安装:

5.5.1 文本环境下的软件安装

1.安装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包的安装方法。

2.安装SRPM包

为了克服RPM仅仅包括可执行文件,对体系架构和glibc限制的缺点,可以通过SRPM来解决。SRPM包含了源代码和相应的patch以及正确编写的spec文件的压缩文件,安装这个文件克服了RPM对体系和底层库的依赖,但是要求安装主机必须已经安装了rpm-build软件。

安装SRPM包比较简单,例如在目录下有一个mplayer-0.90-1.src.rpm软件,可以通过下边的命令方法安装这个软件:

img116

这样mplayer程序已经安装成功,可以执行gmplayer来尝试一下播放电影的快乐。

3.安装源程序压缩包

由于RPM包使用的局限性(rpm依赖编译RPM主机的架构环境,例如如果编译RPM的主机是MIPS,或者当前的glinc与安装主机不同,这样RPM包就不能装),目前更多的软件使用的是源程序压缩包。这种软件的安装通常要经过解压缩、软件配置、软件编译及安装的过程。由于源程序压缩包通常以两种格式发布,故有两种解压缩方法:一种是以.tar.bz2结尾的压缩包,通常以下边命令来解压:

[root@Luan ~~]# tar–jxvf filename.tar.bz2

另一种是以.tar.gz结尾的压缩包,通常用以下的命令来解压:

[root@Luan ~~]# tar–zxvf filename.tar.gz

一般来说软件解压缩后会生成一个filename的目录,下边需要解决的就是配置、编译和安装了。

软件的配置、编译、安装是最让初学者望而生畏的事了,但只要掌握一些规律还是不难的。一般来说,在解压缩生成的目录中都会有名为Readme,Install或Readme.install之类的文件。这些文件通常会对软件的功能、特性、版权许可、安装以及相关知识加以介绍,并且会提到关于安装的方法和步骤。例如,在apache_1.3.6的install文件中说明了如下内容(此处只列出总的条目,具体内容省略):

Installing the Apache 1.3HTTP 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参数,运行下面的命令就会感到豁然开朗。

[root@Hostname Pathname]#./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)

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中的批处理文件有很多相似之处,当然功能要强得多),很容易读懂,尤其是编译时可带的参数都会明确写出,例如:

img117

上面这段代码是apache_1.3.6的Makefile文件的一部分,从这段程序可以看出all参数表示完全编译(缺省参数)。此外,编译时还可以带build,build-quiet,build-surpport等参数;安装时可以带install,install-quiet,install-surpport等参数。它们的功能分别在“#”表示的注释中进行了说明。需要额外说明的是,有些软件(例如Linux的内核升级程序)不用configure命令来配置软件,而是用make config来完成这项工作的,所以,具体使用哪种方法要具体问题具体分析。

4.利用yum安装程序

yum是yellowdog updater modified的缩写,yellowdog是一个Linux发行版。RedHat将这种升级技术利用到自己的Distribution形成了现在的yum。yum的理念是使用一个中心仓库(Repository)管理一部分甚至一个Distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等操作,减少用户一直头痛的依赖关系(Dependencies)。

yum的基本操作包括软件的安装(本地,网络)、升级(本地,网络)、卸载,另外还有一定的查询功能。设定好本地yum后,就可以很方便地进行安装,如需要在网络上安装虚拟机boche,可以使用下面的命令:

[root@Luan~~]# yum install boche

如果需要更新软件,假设更新firefox,可以使用下面的命令:

[root@Luan~~]# yum update firefox

如果后边没有跟任何参数,表示更新所有的软件包,如下:

[root@Luan~~]# yum update

5.其他

有些软件,没有提供上面的形式,只是提供了一个可以执行的二进制文件,我们可以把它直接拷贝到可以执行的PATH目录下,并且设置它的可执行属性。假设文件为mybin,可以使用下面的命令来安装:

[root@Luan~~]# cp mybin/usr/bin/

[root@Luan~~]# chmod +x/usr/bin/mybin

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈