第三章 安装及管理应用程序
长期以来命令和应用程序并没有特别明确的区别,从长期使用习惯来看,可以通过以下一些描述来对两者就行区别。
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”等选项的含义是相同的
安装、升级、卸载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
图形界面中的“添加/删除软件”
依赖于YUM(Yellow dog Updater,Modified)机制
调用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.el5、gcc-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(有区别)