LSA 安装及管理应用程序
一.linux应用程序基础
1.linux命令与应用程序的关系
文件位置
系统命令:一般在/bin和/sbin目录中,或为shell内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中
主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具
应用程序:完成相对独立的辅助任务,例如网页浏览器
适用环境
系统命令:一般只在字符操作界面
应用程序:根据实际需要。有些程序可在图形界面中进行
运行格式
系统命令:一般包括命令字、命令选项和命令参数
应用程序:通常没有固定的执行格式
2.linux应用程序的组成
(1)普通的可执行文件 一般保存在/user/bin目录中
(2)服务器程序、管理程序文件 一般保存在/user/sbin目录中
(3)配置文件 一般保存在/etc目录中
(4)日志文件 一般保存在/var/log中
(5)关于应用程序的参考文档等数据 一般保存在/usr/share/doc/目录中
(6)执行文件及配置文件的man手册 一般保存在/usr/share/man/目录中
3.软件包的封装类型
(1)RPM软件包 红帽的私有软件 扩展名为.rpm
(2)DEB软件包 debain社区的软件 扩展名为.deb
(3)源代码软件包 使用灵活 一般被制作成“.tar.gz”“.tar.bz2"等格式的压缩包文件
(4)提供安装程序的软件包 提供安装的可执行程序或脚本文件 以TarBall格式的居多
(5)绿色免安装的软件包
二、使用RPM包管理工具
1.RPM概述
RPM软件包的命名格式 软件名-软件版-发布次数-硬件平台类型.rpm
RHEL5系统的DVD安装光盘携带的大部分软件包都组织在Server目录中
2.使用RPM包管理命令--rpm
rpm命令能够实现几乎所有对RPM软件包的管理功能,结合不同的命令选项及子选项主要可以实现以下三类功能
(1)查询、验证RPM软件包的相关信息
(2)安装、升级、卸载RPM软件包
(3)维护RPM数据库信息等综合管理操作
查询RPM软件包的信息
(1)-q 主要针对当前系统中已经安装的软件包,不带子选项的-q选项可用于查询已知名称的软件包是否已经安装 ,需要使用准确的软件名做参数
-qa:查询当前系统中以RPM方式安装的所有软件列表(all)
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(info)
-ql:显示指定的软件包在当前系统中安装的所有目录、文件列表(list)
-qf:查看指定的文件或目录是由哪个软件包所安装的(file)
-qc:显示指定软件包在当前系统中安装的配置文件(configfiles)列表
-qd:显示指定软件包在当前系统中安装的文档文件(docfiles)列表
(2)-qp选项可以针对尚未安装的RPM包文件进行查询
-qpi:查看指定软件包的名称、版本、许可协议、用途描述等信息
-qpl:查看该软件包准备要安装的所有目标目录、文件列表
-qpc:查看该软件包准备要安装的配置文件列表
-qpd:查看该软件包准备安装的文档文件列表
安装、升级、卸载RPM软件包
-i:在当前系统中安装一个新的RPM软件包(install)
-e:卸载指定名称的软件包(earse)
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于-i选项
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装
-force:强制安装某个软件包,当需要替换现已安装的软件包及文件、或者安装一个比当前使用的版本更旧的版本时,可以使用此选项
-nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系
-h:在安装或升级软件包的过程中,以#号显示进度
-v:显示软件安装过程中的详细信息
使用rpm命令安装软件包时,需要指定完整的包文件名作为参数,需要同时安装多个RPM软件包时,可以采用通配符*,这种方式在安装存在相互依赖关系的多个软件包时特别有用,系统会自动检查依赖性并决定安装顺序。
使用RPM命令卸载软件包时,只需要指定软件名即可
维护RPM数据库
重建 rpm --rebuliddb
初始化 rpm --initdb
三.从源代码编译安装程序
1.从源代码编译安装程序的基本过程
(1)解包
开源软件的源代码包一般为TarBall形式,扩展名为tar.gz或tar.bz2,均可以使用tar命令进行解压释放
(2)配置
配置工作通常由源代码目录中的configure脚本文件来完成
不同的应用程序其配置参数或存在区别,用--prefix形式的参数,用于指定软件包安装的目标文件夹
(3)编译
将源代码文件编译、连接成二进制的模块文件、执行程序等。 make命令进行执行
(4)安装
将软件的执行程序、配置文件、帮助文档等相关文件复制到linux系统中。执行“make install ”命令。