前言
第1章 rpm認知與格式剖析 1
1.1 軟件包的演變史 2
1.2 rpm軟件包基礎知識 3
1.2.1 rpm軟件包的功能 3
1.2.2 rpm實現引子 6
1.3 rpm 格式剖析 7
1.3.1 從協議說起 7
1.3.2 rpm格式總覽 8
1.3.3 rpm之lead 9
1.3.4 header structure 11
1.3.5 rpm之signature和header 14
1.3.6 rpm之archive 18
1.4 rpm解析例程 19
1.5 本章小結 21
第2章 rpm製作與spec詳解 22
2.1 rpm生成要素 23
2.2 rpm製作實例 23
2.2.1 環境準備 24
.2.2.2 源碼準備 25
2.2.3 spec文件編寫 25
2.2.4 生成rpm包 26
2.3 rpmbuild介紹 30
2.3.1 概述 30
2.3.2 使用說明 30
2.4 spec文件解析 31
2.4.1 spec組成元素 32
2.4.2 spec元素解析 32
2.5 本章小結 58
第3章 深入理解和使用yum 59
3.1 rpm運行機製淺析 60
3.1.1 rpm數據庫和packages文件 61
3.1.2 rpm日誌和定時任務 64
3.1.3 yum/rpm阻塞現象 65
3.2 yum的齣現 66
3.2.1 rpm麵臨的問題 66
3.2.2 yum的構成 68
3.3 yum服務搭建實例 69
3.4 軟件包的索引機製 72
3.4.1 createrepo命令 73
3.4.2 索引文件 78
3.5 本地緩存 84
3.5.1 緩存中的內容 84
3.5.2 索引中的sqlite文件 86
3.6 配置詳解 87
3.6.1 全局配置 88
3.6.2 repo配置 92
3.6.3 插件配置 97
3.7 本章小結 97
第4章 yum的插件機製 98
4.1 插件介紹 99
4.1.1 插件的概念 99
4.1.2 插件的調用方式 99
4.2 yum的插件 100
4.2.1 yum插件的組織方式 100
4.2.2 yum插件調用情景 101
4.3 yum 插件開發注意事項 104
4.3.1 函數接口規範 104
4.3.2 插件私有選項讀取方法 105
4.3.3 插件類型 105
4.4 再議倉庫優先級 107
4.5 插件開發與實例分析 108
4.5.1 view_hook插件 108
4.5.2 downloadonly插件 110
4.5.3 fastestmirror插件 113
4.6 本章小結 118
第5章 企業軟件管理現狀與規劃 119
5.1 企業軟件管理特點 120
5.1.1 異地多機房 120
5.1.2 服務器數量多 121
5.1.3 軟件數量多 121
5.1.4 os版本較多 121
5.1.5 服務高可用 122
5.1.6 網絡環境復雜 122
5.2 問題總結 123
5.2.1 軟件個數過多 123
5.2.2 rpm衝突 123
5.2.3 開發測試包和綫上包 124
5.2.4 不同rhel版本支持 124
5.2.5 單點問題 124
5.2.6 跨機房訪問帶來的帶寬問題 124
5.2.7 大量客戶端引起的網絡瓶頸 125
5.2.8 異地機房災備 125
5.3 軟件倉庫規劃之路 125
5.3.1 軟件倉庫劃分 126
5.3.2 redhat倉庫分支規劃 128
5.3.3 第三方包倉庫規劃 133
5.3.4 最終倉庫結構 134
5.3.5 測試包和綫上包管理 136
5.4 本章小結 137
第6章 軟件管理平颱設計 138
6.1 軟件發布環節 140
6.1.1 組成要素 140
6.1.2 軟件發布設計 140
6.1.3 軟件模型 142
6.2 索引更新設計 143
6.2.1 更新效率問題 143
6.2.2 解決方案 145
6.2.3 軟件工作模型 147
6.3 構建高可用索引服務器 148
6.3.1 軟件發布概述 148
6.3.2 讀寫分離的必然性 149
6.3.3 改進後的軟件模型 149
6.4 加入鏡像機製 150
6.4.1 鏡像服務器問題分析 150
6.4.2 解決方案 151
6.4.3 改進後的軟件模型 152
6.5 加入緩存機製 153
6.5.1 緩存服務器的齣現 153
6.5.2 搭建緩存服務器 154
6.5.3 改進後軟件模型 156
6.6 鏡像與緩存的選擇 157
6.6.1 鏡像與緩存的搭建原則 157
6.6.2 新機房中鏡像與緩存的搭建實現 158
6.7 智能dns和多機房容災 159
6.7.1 多機房容災的必要性 159
6.7.2 解決方案 160
6.7.3 軟件模型 161
6.8 節點數據同步優化 162
6.8.1 問題分析 162
6.8.2 解決方案 164
6.9 軟件管理平颱最終模型 164
6.10 本章小結 165
第7章 平颱實現梗概 166
7.1 平颱實現約定 167
7.2 機器角色與職能 169
7.2.1 打包發布服務器 169
7.2.2 索引服務器 172
7.2.3 鏡像服務器 174
7.2.4 緩存服務器 175
7.2.5 訪問客戶端 176
7.3 角色實例化 177
7.3.1 全網結構圖 178
7.3.2 中心機房結構圖 179
7.3.3 鏡像機房結構圖 180
7.4 本章小結 181
第8章 平颱具體實現 182
8.1 軟件包製作工具mkpkg 183
8.1.1 概述 183
8.1.2 完整spec文件方式 184
8.1.3 模版spec文件方式 188
8.2 發布工具pkg-release 192
8.3 索引更新程序repobuilder 196
8.4 同步服務端程序rsync 198
8.5 同步客戶端程序yumclone 199
8.6 yumcache緩存服務 200
8.7 初始化rpm包repoutils 205
8.8 更多功能 207
8.9 本章小結 210
附錄 yum/rpm常見問題解決方案 211
參考文獻 215
· · · · · · (
收起)