浅析linux下软件的安装

Linux环境:

CentOs 6.0

知识点介绍:

一、tarball安装

安装步骤:

  1. 将tarball文件在/usr/local/src目录解压缩
  2. ./configure:这个步骤是建立makefile文件,通常开发者会写一个script来检查你的linux环境、相关软件属性,这个步骤的相关信息应该要参考一下该目录下的INSTALL或README相关的文件。如果你没有指定--prefix=/path这个参数,通常默认参数就是/usr/local。
  3. makeclean:会读取makefile中关于clean的相关工作。这个步骤不一定会有,但是希望之星一下,因为它可以去除目标文件,至少等一下新编译出来的执行文件可以确定是我们使用自己的机器所编译完成的。
  4. make:会依据makefile当中默认工作进行编译行为。编译的工作主要是进行gcc来将源代码编译成可执行的目标文件,但是这些目标文件通常还需要一些函数库之类的链接后,才能生成一个完整的可执行文件!
  5. make install:make会依据makefile这个文件里关于install的选项,将上一步所编译完成的数据安装到默认的目录中

Tarball的一些管理:

  1. 最好将tarball的源代码放在/usr/local/src中
  2. 用户自行安装的软件建议放置在/usr/local里面
  3. 考虑将来反安装步骤,最好将每个软件单独安装在/usr/local下面。
  4. 为安装到单独目录的软件的man page加入man path搜索。

如果你安装到软件放置到/usr/local/software/中,那么在man page搜索的设置中可能就得要在/etc/man.config内的40~50行左右写入如下一行:

MANPATH/usr/local/software/man这样才可以使用man来查询该软件的在线文件。

二、Rpm软件包管理:

Rpm是centos下的软件管理机制,那么rpm软件安装方式有什么特点呢?

Rpm特点:

rpm包将你安装的软件预先编译过,并且打包成rpm的安装包,这个软件安装时所有的属性依赖软件都会被记录在包装好的默认数据库里,安装时rpm会依照软件里的数据查询linux主机的依赖属性是否满足。以此来判断是否可以安装该软件。Rpm的优点是:

  1. rpm包是编译并且打包好的,所以软件传输和安装上很方便。
  2. rpm管理方式使用数据库记录rpm文件相关参数,便于升级、删除、查询与验证。

Sprm是什么呢?

Sprm它是source RPM的意思,也就是这个rpm里含有源代码,特别的是srpm所提供的内容并没有被编译,它提供的是源代码。***.src.rpm的扩展名来命名的。Srpm的软件如何安装呢?

  1. 先将srpm编译成为rpm文件
  2. 然后将编译完成的rpm文件安装到linux系统当中。

rpm文件一般格式:如Rp-pppoe-3.1-5.i386.rpm

Rp-pppoe为软件名称,3.1为版本信息(3为主版本,在主版本的架构下改动部分源代码而释出的新版本就是次版本,就是1了),5为发布版本的次数,i386为操作硬件平台。

rpm默认安装路径:

/etc 配置文件放置路径

/usr/bin 一些可执行文件

/usr/lib 一些程序使用的动态函数库

/usr/share/doc软件使用手册与帮助文档

/usr/share/man 一些man page文件

Rpm安装:

Rpm -ivh package_name

参数:

-i:install的意思

-v:查看更详细的安装信息

-h:以安装信息栏显示进度

Rpm升级与更新:

Rpm -Uvh pkg_name或rpm -Fvh

参数:

-U更新时,如果未安装则安装,-F如果尚未安装则不会被安装。

Rpm查询:

参数:

-q 仅查询,后面接的软件名称是否有安装。

-qa列车所有已安装在本机上所有软件名称

-qi:列出该软件的详细信息(information)

-ql:列出该软件所有的文件与目录所在完整文件名

-qc:列出该软件的所有配置文件(找出在/etc/下面的文件名而已)

-qd:列出该软件的所有帮助文件(找出与man相关的文件而已)

-qR:列出与该软件有关的依赖软件所含文件(required的意思)

-qf:由后面的文件名称找出该文件属于哪个已安装的软件。

卸载rpm:

参数:

-e,后面接要卸载的软件名。

三、yum在线安装:

下面再来介绍一下rpm的属性依赖解决方案:yum在线升级

Yum在线升级的原理是:

Centos先将发布的软件放置到yum服务器内,将软件的信息分析并记录成清单列表。该清单列表与软件所在位置统称为容器。当客户端有软件安装需求时,客户端主机会像网络上面的yum服务器的容器网站上的清单列表下载到/var/cache/yum里面,然后通过本机清单的数据与本机rpm数据库已存在的软件进行比较,就能够一口气安装所有需要的依赖属性软件了。

Yum查询:

Yum [list|info|search|provides]

参数

-y:当yum要等待用户输入时,可以自动提供yes响应。

--installroot=/some/path:将软件安装在/some/path,而不使用默认路径。

list:列出目前yum服务器上所管理的软件名称与版本,有点类似rpm -qa。

info:同上,不过有点类似于rpm -qai的运行结果。

search:搜索某个软件名称或者是描述的重要关键字。

provides:从文件搜索软件,类似rpm -qf

例子:

找出以pam为开头的软件名称由哪些,而其中尚未安装的又有哪些。

#yum list pam*

列出目前本机可升级的软件有哪些

#yum list updates

Yum安装/升级:

Yum [install|update]

参数:

-y:当yum要等待用户输入时,可以自动提供yes响应。

Install:后面接要安装的软件。

Update:后面接要升级的软件。若要整个系统都升级,就直接update即可。

Yum删除:

Yum remove 软件名称即可。

上一篇:.equals()到底是什么意思?


下一篇:linux下软件的安装与卸载