大多数L i nux系统支持两种软件包安装方式,是软件包管理和源代码编译安装。软件包管理相对编译安装更加简单容易操作,但并不是所有的Linux系统都支持,但是源代码的编译安装则是所有Linux系统都支持
1、  Linux应用程序
应用程序和命令的关系:
A inghe应用程序都是L i nux中的可执行程序
B  Linux的基本命令是L i nux系统中必不可少的组成部分,通常放在“/bin”和“/sbin”目录中
C  Linux应用程序可执行文件通常放置在系统中的“/usr/bin”和“/usr/sbin”目录下,很多应用程序的可执行文件以命令行的形式运行
D  命令文件虽然可以通过系统中的软件包管理进行安装和卸载,但是命令通常在Linux系统安装时就已安装完成,不需手工安装
E  Linux发行版本的安装光盘中会附带大量应用程序,但安装时只有少部分被安装,大部分的应用程序需要管理员进行手工选择安装
F  命令的作用是完成对Linux系统本身的管理工作,而应用程序则是完成与L i nux系统管理相对独立的任务
G 命令只能以命令行的形式运行;应用程序可以是命令行运行,也可以是字符界面或者图形界面的窗口程序
系统应用程序与第三方应用程序的比较
A 系统应用程序遵从Linux的软件包管理格式进行管理
B 第三方应用程序则安装的方式可能有多种安装方式
C 系统应用程序安装简单,操作方便,不需过多配置
D 第三方应用程序安装需要管理员进行手工配置,完成安装
E 系统应用程序是开源的,都可以获得源代码
F 第三方应用程序(商业版本)不会提供程序的源码,只提供程序的可执行代码
Linux应用程序的组成
A 普通执行程序文件,保存在“/usr/bin”目录中
B 服务器执行程序文件和管理程序文件,保存在“/usr/sbin”目录中
C 应用程序配置文件,保存在“/etc”目录下
D 应用程序文档文件,保存在“/usr/share/doc”目录下
E 应用程序手册页文件,保存在“/usr/share/man”目录下
2、  RPM包管理
RPMRPM Package Manager的缩写
RPM包文件名称:软件名(包名称)+软件的版本+软件运行的硬件平台+文件的扩展名(后缀)
RPM包管理系统(注意:对已经安装的软件包,使用rpm命令进行操作,全部写包名称;未安装的则写包文件名)
A 查询: 
#rpm  qa  查询系统中所有安装的RPM
#rpm  q RPM包名称     查询软件包是否安装
#rpm  qi RPM包名称      查询某一个软件包的详细信息
#rpm  ql RPM包名称     查询已安装软件包中的文件列表
#rpm  qf 文件名         查询某个系统文件所属的软件包
#rpm  qpi 包文件名      查询某个未安装的软件包的详细信息
#rpm  qpl 包文件名      查询某个未安装的软件包的文件列表
B 安装
#rpm  i RPM包文件名     后面可跟多个文件名,同时安装多个包
#rpm  ivh RPM包文件名     安装时同时显示详细信息
软件包依赖关系:软件包A运行需要软件包B的支持,那么在安装A之前先安装Brpm命令安装软件包时,如果有依赖关系会给于提示),对于有依赖关系的包,建议在图形界面下安装,也可强制安装
#rpm  force  i RPM包文件名   但是不能保证这样安装的软件包能够正常运行
对于有循环依赖关系(A依赖BB依赖CC依赖A)的包,可使用rpm命令一次性全部安装
C 卸载
#rpm  软件包名称  后面可跟多个包名称,同时卸载多个包
依赖关系:A包依赖于B包的运行,那么先卸载A,再卸载B。即被依赖的包最后被卸载。循环依赖的情况,则可以使用命令一次性卸载
D 升级
#rpm  U RPM包文件名   过程是先卸载原包,再安装新的包
#rpm  Uvh RPM包文件名  显示详细信息
通常也可以使用此命令进行软件包的安装
3、  应用程序编译
编译安装的步骤:
A 确认当前系统有编译环境    
使用命令查询:
#rpm  qa|grep gcc
B 获得应用程序的源代码包文件
C 释放源代码包文件
#tar zxf 源代码包文件名  (后缀是.tar
#tar bzf 源代码包文件名   (后缀是.bz2
D 进行编译前的配置工作
#./configure  prefix=程序包安装的绝对路径
E 进行软件包的编译
#make
F 安装
#make install 
G 验证
进入到安装目录,查看目录中的文件和目录