一应用程序与系统命令的关系 1文件位置 系统命令:一般在bin和sbin目录中,或为Shell内部指令 应用程序:通常在usrbin和usrsbin目录中 2主要用途 系统命令:完成对系统的基本管理工作,例如IP配置工具 应用程序:完成相对独立的其他辅助任务,例如网页浏览 3适用环境 系统命令:一般只在字符操作界面中运行 应用程序:根据实际需要,有些程序可在图形界面中运行 4运行格式 系统命令:一般包括命令字、命令选项和命令参数 应用程序:通常没有固定的执行格式 二典型应用程序的目录结构 文件类型保存目录 普通执行程序文件usrbin 服务器执行程序文件和管理程序文件usrsbin 应用程序配置文件etc 日志文件varlog 应用程序文档文件usrsharedoc 应用程序手册页文件usrshareman 三常见的软件包封装类型 封装类型说明 rpm软件包扩展名为。rpm deb软件包扩展名为。deb 源代码软件包一般为。tar。gz、。tar。bz2等格式的压缩包 包含程序的原始代码 附带安装程序的软件包在压缩包内提供install。sh、setup等安装程序 或以。bin格式的单个执行文件提供 绿色免安装的软件包在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用 四rpm软件管理 由RedHat公司提出,被众多Linux发行版所采用 建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系 1一般命名格式: bash3。116。1。i386。rpm 软件名版本号支持的CPU类型扩展名 2查询已安装的rpm软件信息 格式:rpmq〔子选项〕〔软件名〕 用法:结合不同的子选项完成不同查询 :rpmqa查看系统中已安装的所有rpm软件包列表 :rpmqadhcp查看软件是否安装 :rpmqidhcp查看指定软件的详细信息 :rpmqldhcp查询指定软件包所安装的目录、文件列表 :rpmqcdhcp仅显示指定软件包安装的配置文件 :rpmqddhcp仅显示指定软件包安装的文档文件 :rpmqffile查询文件或目录属于哪个rpm软件 3查询未安装的RPM包文件 格式:rpmqp〔子选项〕RPM包文件 用法:结合不同的子选项完成不同查询 qpi:通过。rpm包文件查看该软件的详细信息 qpl:查看。rpm安装包内所包含的目录、文件列表 qpc:查看。rpm安装包内包含的配置文件列表 qpd:查看。rpm安装包内包含的文档文件列表 4安装或升级RPM软件 格式:rpm〔选项〕RPM包文件。。。 用法:不同选项适用于不同情况 i:安装一个新的rpm软件包 rpmivhdhcp安装DHCP服务 force:强制安装所指定的rpm软件包 rpmivhdhcpforce nodeps:安装、升级或卸载软件时,忽略依赖关系 h:以号显示安装的进度 v:显示安装过程中的详细信息 U:升级某个rpm软件,若原本未装,则进行安装 F:更新某个rpm软件,若原本未装,则放弃安装 5卸载指定的RPM软件 格式:rpme软件名 6重建RPM数据库(用户系统被破坏时重载rpm,以便正常使用) rpmrebuilddb或 rpminitdb 7导入验证公钥(用于校验rpm包是否被改过) rpmimportmediacdromRPMGPGKEYredhatrelease 五从源代码编译安装程序 1源代码编译概述 使用源代码安装软件的优点 获得最新的软件版本,及时修复bug 根据用户需要,灵活定制软件功能 应用场合举例 安装较新版本的应用程序时 自由软件的最新版本大都以源码的形式最先发布 当前安装的程序无法满足需要时 编译安装可由用户自行修改、定制功能 需要为应用程序添加新的功能时 用户可以重新配置、自由修改源代码,加入新的功能 2编译安装基本过程 1)解包并切换到解压目录 2)配置 使用源码目录中的configure脚本 执行。configurehelp可以查看帮助 典型的配置选项: prefix软件安装目录 。configureprefixusrlocal其他模块编译 make安装 makeinstall 编译和安装也可以一起执行:makemakeinstaLlYUM仓库服务 一YUM概述 YUM仓库介绍 YUM分为服务器端和客户端,借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员逐个、手工地去安装每一个rpm包,使管理员在维度护在量linux服务器时更加轻松自如 YUM原理 要成功使用YUM机制来更新系统和软件,需要有一个包含各种rpm安装文件的软件仓库,提供软件库的服务器也称为源服务器;软件仓库中需要提供仓库数据库(repodata),其中收集了目录下所有rpm包的头部信息header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header并加以分析,才能自动化地完成余下的任务;在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的源服务器来安装或更新软件了 在RHEL6系统的安装光盘中,已针对软件目录Packages建好了repodata数据,因此只要简单地将整个光盘中的内容或将光盘全部内容复制到硬盘通过HTTP或FTP进行发布,就可以作为软件仓库了 以下是rhel6。0i386DVD的目录结构: HighAvailability高可用相关软件包,自带repodata数据;如rhcs等相关套件 Server常规软件包,自带repodata数据;如mysql,httpd,开发工具,系统管理工具等 LoadBalancer负载均衡相关软件包,自带repodata数据;如lvs,pirihan ResilientStorage数据包组相关信息,自带repodata数据; Packages真正存放所有软件包的目录 imagesrhel安装进程所需要的引导和驱动镜像文件, isolinux镜像文件引导时所需要的文件 二使用RedHat发布的RPM包部署YUM软件仓库 1软件仓库的提供方式 网络客户机使用 FTP服务:ftp:。。。。。。 HTTP服务:http:。。。。。。 本地自己使用:本地目录:file:。。。。。。。 2RPM软件包的来源 RedHat发布的RPM包集合 第三方组织发布的RPM包集合 用户自定义的RPM包集合 准备安装源(服务器) RPM包来自RHEL6。1DVD光盘 通过FTP提供给客户机 1挂载系统光盘,安装vsftpd服务 开启服务并允许防火墙相应端口(允许21号端口且关联20号端口) 加载FTP模块 保存防火墙规则并重启防火墙 2复制系统光盘所有内容到FTP跟目录下(实验环境也可指直接挂载) 配置软件仓库位置(客户机) 1服务器自己作为客户机使用YUM仓库的配置 在etcyum。repos。d目录下创建一个以。repo结尾的文件并配置系统镜像提供的四个仓库;配置完保存后即可使用yum来管理rpm软件 2其他客户机使用yum仓库服务器的配置 首先保证物理通信,然后确保仓库路径正确 三用户自定义的RPM包集合部署YUM软件仓库 当需要使用非FHEL光盘中自带的其他软件包时,除了有安装包外,还需手动创建repodata数据文件;此文件中不包含数据包组信息(无法使用yumgrouplist) 配置YUM源(服务端) 1在FTP根目录下创建other目录,并将rpm软件包复制到此目录 2安装创建repodata数据文件的工具 3创建repodata数据文件 配置客户端 只需在原来的yum。repo文件中添加以下内容即可 四Yum的使用 关于yum命令 由软件包yum3。2。2917。el6。noarch提供 用来访问YUM仓库,查询、下载及安装、卸载软件包 yum的配置文件 基本设置:etcyum。conf 仓库设置:etcyum。repos。d。repo 日志文件:varlogyum。log YUM缓存目录 存放下载的软件包、仓库信息等数据 位于varcacheyumbasearchreleasever 〔rootlocalhost〕yumcleanall清理缓存数据 Yum命令的使用 1查询软件包 yumlist〔软件名〕。。。 yuminfo〔软件名〕。。。 yumsearch关键词。。。 yumlist、yuminfo,软件名可以省略,表示查询所有软件 2查询软件包组 yumgrouplist〔包组名〕。。。 yumgroupinfo包组名。。。 yumgrouplist,包组名可以省略,表示列出所有软件包组 yumlistavailable则表示只列出软件仓库中可用(尚未安装)的软件包 3安装软件 yuminstall〔软件名〕 yumyinstall〔软件名〕y表示自动确认 yumgroupinstall包组名 4升级软件 yumcheckupdate检查可更新的程序 yumlistupdate表示列出可以升级版本的软件包 yumupdate全部更新 yumupdate〔软件名〕 yumgroupupdate 5卸载软件 yumremove软件名。。。 yumgroupremove包组名。。。 yumcleanheaders清除header yumcleanpackages清除下载的rpm包 yumcleanall清除header与rpm包