3安装及管理应用程序

1.  Linux应用程序基础

长期以来命令和应用程序并没有特别明确的区别,从长期使用习惯来看,可以通过以下一些描述来对两者就行区别。

1) 应用程序与系统命令的关系

文件位置

 系统命令:一般在/bin/sbin目录中,或为Shell内部指令

 应用程序:通常在/usr/bin/usr/sbin目录中,/usr/local/bin/usr/local/sbin目录中

主要用途

 系统命令:完成对系统的基本管理工作,例如IP配置工具

 应用程序:完成相对独立的其他辅助任务,例如网页浏览器

适用环境

 系统命令:一般只在字符操作界面中运行

 应用程序:根据实际需要,有些程序可在图形界面中运行

运行格式

 系统命令:一般包括命令字、命令选项和命令参数

 应用程序:通常没有固定的执行格式

2) Linux应用程序的组成

文件类型

保存目录

普通执行程序文件(普通用户可执行)

/usr/bin

服务器执行程序文件和管理程序文件(root)

/usr/sbin

应用程序配置文件

/etc (再下一级)

日志文件

/var/log

应用程序文档文件

/usr/share/doc

应用程序手册页文件

/usr/share/man

 

3) 软件包的封装类型

封装类型

说明

rpm软件包 

扩展名为“.rpm”

deb软件包

扩展名为“.deb” (debianubuntu系统,用dpkg命令)

源代码软件包

一般为“.tar.gz”、“.tar.bz2”等格式的压缩包

包含程序的原始代码(开源软件)

提供安装程序的软件包 

在压缩包内提供install.shsetup等安装程序

或以“.bin”格式的单个执行文件提供

绿色免安装的软件包

在压缩包内提供已编译好的执行程序文件

解开压缩包后的文件即可直接使用

2.  使用RPM包管理工具

1) RPM概述

A. 最早由RedHat公司提出,在www.rpm.org,可以了解RPM包管理机制的详细资料。

B.建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系

C.

2) 使用RPM包管理命令——rpm

A   rpm命令的格式:rpm  -q[子选项]  [软件名]

B   查询已安装的RPM软件信息

用法:结合不同的子选项 完成不同查询

 -qa:查看系统中已安装的所有RPM软件包列表

 -qi:查看指定软件的详细信息

 -ql:查询指定软件包所安装的目录、文件列表

 -qc:仅显示指定软件包安装的配置文件

 -qd:仅显示指定软件包安装的文档文件

查询文件/目录属于哪个RPM软件

格式:rpm  -qf  文件或目录名

查询未安装的RPM包文件

格式:rpm  -qp[子选项]  RPM包文件

用法:结合不同的子选项 完成不同查询

 -qpi:通过.rpm包文件查看该软件的详细信息

 -qpl:查看.rpm安装包内所包含的目录、文件列表

 -qpc:查看.rpm安装包内包含的配置文件列表

 -qpd:查看.rpm安装包内包含的文档文件列表

注意:两类查询操作中,“-i”、”-l”、”-c”、“-d”等选项的含义是相同的

C  安装、升级、卸载RPM软件包

a.安装或升级RPM软件

格式:rpm  [选项]  RPM包文件...

用法:不同选项适用于不同情况

 -i:安装一个新的rpm软件包

 -U:升级某个rpm软件,若原本未装,则进行安装

 -F:更新某个rpm软件,若原本未装,则放弃安装

b。卸载指定的RPM软件

格式:rpm  -e  软件名

c.  辅助选项

--force:强制安装所指定的rpm软件包

--nodeps:安装、升级或卸载软件时,忽略依赖关系

-h:以“#”号显示安装的进度

-v:显示安装过程中的详细信息

D.     维护rpm数据库

RPM数据库损坏时,需要进行数据库重建

格式:rpm --rebuilddb

           或者  rpm --initdb

(当RPM数据库发生损坏,Linux系统无法自动完成修复时,可能将导致无法正常安装、卸载rpm软件包;如果时间充裕,可以参照教材第九章的rpm数据库修复实验给学员进行演示)

3) 在图形界面中管理rpm

图形界面中的“添加/删除软件”

依赖于YUMYellow dog UpdaterModified)机制

调用yum命令工具进行软件更新

使用“添加/删除软件”工具的条件

能够访问互联网中的YUM源服务器

 若使用默认源,需有合法的安装序列号和服务订阅号

在局域网内构建本地的YUM源服务器

3.  从源代码编译安装程序

 1)。源代码编译概述

A 使用源代码安装软件的优点

获得最新的软件版本,及时修复bug

根据用户需要,灵活定制软件功能

B 应用场合举例

安装较新版本的应用程序时

 自由软件的最新版本大都以源码的形式最先发布

当前安装的程序无法满足需要时 

 编译安装可由用户自行修改、定制功能

需要为应用程序添加新的功能时

 用户可以重新配置、自由修改源代码,加入新的功能

C Tarball 封包:

.tar.gz .tar.bz2 格式居多

软件素材参考:http://sourceforge.net

D 完整性校验

md5sum校验工具

 计算MD5校验和,并与官方提供的值相比较,判断是否一致

E 确认源代码编译环境

需安装支持 C/C++程序语言的 编译器

 gcc-4.1.1-52.el5gcc-c++-4.1.1-52.el5

 make-3.81-1.1.i386 ……

2 从源代码编译安装的基本故过程

     A 解包

习惯上将软件包释放到 /usr/src/ 目录

解包后的源代码文件位置:

 /usr/src/软件名-版本号/

     B 配置

需将工作目录切换到软件源码所在目录

使用源码目录中的 configure 脚本

执行“./configure --help” 可以查看帮助

典型的配置选项:

 --prefix=软件安装目录

C 编译

       执行  make

D 安装

       执行  make  install

注意:这两步可以合在一起做make && make install 或者 make;make install(有区别)