《linux软件管理平台设计与实现》是中国首个关于软件管理平台设计与实现(对于规模性linux集群服务器)的经典著作,由淘宝网杰出开发软件技术工程师和系统软件运维工程师编写,书中凝固了创作者在淘宝网运维管理第一线积淀的珍贵工作经验。不但详尽解读了rpm和yum等软件可视化工具的使用说明、方法、基本原理和实质,还系统软件解读了linux软件管理平台的整体规划、设计与实际实现。针对从业linux服务器管理和运维管理的技术工程师而言,这书将是难能可贵的珍宝。
全书共8章,在逻辑性上分成3个一部分:首位一部分(第1~4章)为基本技术篇,详解了rpm的定义、机构方法和做法,另一个对yum服务项目开展了深层次的剖析,目地是为对开发软件很感兴趣的用户在rpm和yum行业出示导向,为运维和管理信息系统工作人员出示具体指导,协助用户在rpm/yum的应用和了解层面铲除阻碍;其次一部分(第5~6章)为难题剖析和控制系统设计篇,融合公司中软件管理的现况,提问问题,随后从基础的系统软件刚开始,逐渐解决困难,改进方案,最后产生一整套软件管理平台的方案设计,合适在公司中承担软件系统提升和系统软件管理与服务的工作人员阅读文章;最后一部分(第7~8章)为实现篇,假如用户想将这书中设计的软件管理平台运用到自身所属公司的自然环境中,能够 参照这些的內容开展详细设计和编号实现。附则例举了rpm和yum在平时应用中常常会碰到的难题及其相匹配的解决方案。
目录
- 第1章rpm认知与格式剖析
- 1.1软件包的演变史
- 1.2rpm软件包基础知识
- 1.2.1rpm软件包的功能
- 1.2.2rpm实现引子
- 1.3rpm格式剖析
- 1.3.1从协议说起
- 1.3.2rpm格式总览
- 1.3.3rpm之lead
- 1.3.4headerstructure
- 1.3.5rpm之signature和header
- 1.3.6rpm之archive
- 1.4rpm解析例程
- 1.5本章小结
- 第2章rpm制作与spec详解
- 2.1rpm生成要素
- 2.2rpm制作实例
- 2.2.1环境准备
- 2.2.2源码准备
- 2.2.3spec文件编写
- 2.2.4生成rpm包
- 2.3rpmbuild介绍
- 2.3.1概述
- 2.3.2使用说明
- 2.4spec文件解析
- 2.4.1spec组成元素
- 2.4.2spec元素解析
- 2.5本章小结
- 第3章深入理解和使用yum
- 3.1rpm运行机制浅析
- 3.1.1rpm数据库和packages文件
- 3.1.2rpm日志和定时任务
- 3.1.3yum/rpm阻塞现象
- 3.2yum的出现
- 3.2.1rpm面临的问题
- 3.2.2yum的构成
- 3.3yum服务搭建实例
- 3.4软件包的索引机制
- 3.4.1createrepo命令
- 3.4.2索引文件
- 3.5本地缓存
- 3.5.1缓存中的内容
- 3.5.2索引中的sqlite文件
- 3.6配置详解
- 3.6.1全局配置
- 3.6.2repo配置
- 3.6.3插件配置
- 3.7本章小结
- 第4章yum的插件机制
- 4.1插件介绍
- 4.1.1插件的概念
- 4.1.2插件的调用方式
- 4.2yum的插件
- 4.2.1yum插件的组织方式
- 4.2.2yum插件调用情景
- 4.3yum插件开发注意事项
- 4.3.1函数接口规范
- 4.3.2插件私有选项读取方法
- 4.3.3插件类型
- 4.4再议仓库优先级
- 4.5插件开发与实例分析
- 4.5.1view_hook插件
- 4.5.2downloadonly插件
- 4.5.3fastestmirror插件
- 4.6本章小结
- 第5章企业软件管理现状与规划
- 5.1企业软件管理特点
- 5.1.1异地多机房
- 5.1.2服务器数量多
- 5.1.3软件数量多
- 5.1.4os版本较多
- 5.1.5服务高可用
- 5.1.6网络环境复杂
- 5.2问题总结
- 5.2.1软件个数过多
- 5.2.2rpm冲突
- 5.2.3开发测试包和线上包
- 5.2.4不同rhel版本支持
- 5.2.5单点问题
- 5.2.6跨机房访问带来的带宽问题
- 5.2.7大量客户端引起的网络瓶颈
- 5.2.8异地机房灾备
- 5.3软件仓库规划之路
- 5.3.1软件仓库划分
- 5.3.2redhat仓库分支规划
- 5.3.3第三方包仓库规划
- 5.3.4最终仓库结构
- 5.3.5测试包和线上包管理
- 5.4本章小结
- 第6章软件管理平台设计
- 6.1软件发布环节
- 6.1.1组成要素
- 6.1.2软件发布设计
- 6.1.3软件模型
- 6.2索引更新设计
- 6.2.1更新效率问题
- 6.2.2解决方案
- 6.2.3软件工作模型
- 6.3构建高可用索引服务器
- 6.3.1软件发布概述
- 6.3.2读写分离的必然性
- 6.3.3改进后的软件模型
- 6.4加入镜像机制
- 6.4.1镜像服务器问题分析
- 6.4.2解决方案
- 6.4.3改进后的软件模型
- 6.5加入缓存机制
- 6.5.1缓存服务器的出现
- 6.5.2搭建缓存服务器
- 6.5.3改进后软件模型
- 6.6镜像与缓存的选择
- 6.6.1镜像与缓存的搭建原则
- 6.6.2新机房中镜像与缓存的搭建实现
- 6.7智能dns和多机房容灾
- 6.7.1多机房容灾的必要性
- 6.7.2解决方案
- 6.7.3软件模型
- 6.8节点数据同步优化
- 6.8.1问题分析
- 6.8.2解决方案
- 6.9软件管理平台最终模型
- 6.10本章小结
- 第7章平台实现梗概
- 7.1平台实现约定
- 7.2机器角色与职能
- 7.2.1打包发布服务器
- 7.2.2索引服务器
- 7.2.3镜像服务器
- 7.2.4缓存服务器
- 7.2.5访问客户端
- 7.3角色实例化
- 7.3.1全网结构图
- 7.3.2中心机房结构图
- 7.3.3镜像机房结构图
- 7.4本章小结
- 第8章平台具体实现
- 8.1软件包制作工具mkpkg
- 8.1.1概述
- 8.1.2完整spec文件方式
- 8.1.3模版spec文件方式
- 8.2发布工具pkg-release
- 8.3索引更新程序repobuilder
- 8.4同步服务端程序rsync
- 8.5同步客户端程序yumclone
- 8.6yumcache缓存服务
- 8.7初始化rpm包repoutils
- 8.8更多功能
- 8.9本章小结
- 附录yum/rpm常见问题解决方案
- 参考文献