第1章 初識Ubuntu 1
1.1 Linux歷史及其版本 1
1.1.1 Linux起源和發(fā)展 1
1.1.2 Linux和GNU的關系 3
1.1.3 目前流行的Linux發(fā)行版 4
1.1.4 Linux的特點和優(yōu)勢 9
1.1.5 Linux應用領域 10
1.2 Ubuntu起源和版本 10
1.2.1 Ubuntu是什么 10
1.2.2 Ubuntu的起源 10
1.2.3 Ubuntu的版本 12
1.2.4 Ubuntu發(fā)展路線圖 13
1.3 小結 18
練習題 18
第2章 開始安裝Ubuntu 19
2.1 安裝準備和引導設置 19
2.1.1 申請免費的系統(tǒng)光盤 19
2.1.2 下載Ubuntu安裝鏡像 21
2.2 硬件需求與兼容性 23
2.2.1 Ubuntu 7.10官方硬件需求 23
2.2.2 搜集自己硬件環(huán)境信息 24
2.2.3 設置計算機光盤啟動 26
2.2.4 準備安裝分區(qū) 26
2.3 磁盤分區(qū)調整和分區(qū) 26
2.3.1 Ubuntu和Windows分區(qū)概念差異 26
2.3.2 磁盤分區(qū)規(guī)劃 27
2.3.3 為Ubuntu準備分區(qū) 27
2.4 開始安裝 28
2.4.1 LiveCD模式安裝 28
2.4.2 文字模式安裝 32
2.4.3 硬盤安裝Ubuntu 42
2.4.4 虛擬機中體驗Ubuntu 43
2.4.5 安裝虛擬機 44
2.4.6 為筆記本安裝Ubuntu 46
2.5 首次親密接觸 47
2.5.1 登錄界面 47
2.5.2 體驗Ubuntu桌面 48
2.5.3 注銷、重啟和關機 49
2.6 安裝后的配置 49
2.6.1 善用受限驅動解決驅動問題 49
2.6.2 配置ADSL撥號網絡 50
2.6.3 設置Ubuntu安裝源 51
2.6.4 閃電配置Ubuntu系統(tǒng)環(huán)境 52
2.7 小結 53
練習題 53
第3章 使用GNOME桌面環(huán)境 54
3.1 GNOME的基本介紹 54
3.2 使用GNOME桌面環(huán)境 55
3.2.1 GNOME基本操作 55
3.2.2 GNOME桌面使用詳解 56
3.2.3 用好GNOME面板 57
3.2.4 用好“應用程序”菜單 57
3.2.5 用好“位置”菜單 58
3.2.6 用好“系統(tǒng)”菜單 59
3.2.7 GNOME桌面環(huán)境用好命令行 59
3.3 鸚鵡螺文件管理器 60
3.4 定制個性化GNOME桌面環(huán)境 61
3.5 GNOME常用程序和Windows常用程序對照 64
3.6 小結 66
練習題 66
第4章 KDE桌面環(huán)境 67
4.1 認識KDE桌面環(huán)境 67
4.2 安裝配置KDE桌面 69
4.2.1 把KDE桌面環(huán)境添加到Ubuntu 69
4.3 用好KDE桌面環(huán)境 71
4.3.1 用好KDE面板 71
4.3.2 定制KDE面板 73
4.3.3 用好K菜單 74
4.3.4 用好系統(tǒng)菜單 74
4.3.5 用好快速桌面 75
4.4 Konqueror文件管理器 75
4.5 配置個性化KDE桌面 78
4.6 KDE常用程序對照表 82
4.7 小結 84
練習題 84
第5章 Ubuntu圖形服務器 85
5.1 X-Window 2D圖形服務器 85
5.1.1 X-Window圖形服務器 85
5.1.2 X-Window架構和組成 86
5.1.3 X-Window、GNOME和KDE之間的關系 86
5.2 XGL 3D圖形服務器 87
5.2.1 XGL和Compiz間的關系 88
5.2.2 用好XGL 3D圖形服務器 88
5.3 小結 91
練習題 91
第6章 Ubuntu桌面應用 92
6.1 Ubuntu辦公應用OpenOffice.org 92
6.1.1 與OpenOffice.org的親密接觸 92
6.1.2 OpenOffice.org 使用入門 92
6.1.3 了解OpenOffice.org各功能組件 95
6.1.4 設置OpenOffice.org辦公環(huán)境 99
6.2 全面掌握OpenOffice.org Writer 100
6.2.1 高頻操作——選定、刪除文檔操作 100
6.2.2 日常操作——移動、復制文檔操作 101
6.2.3 無需踏破鐵蹄——查找和替換操作 102
6.2.4 后悔有方——撤銷、恢復操作 103
6.2.5 打印效果早知道——預覽和打印文檔 103
6.3 全面掌握OpenOffice.org Calc 105
6.3.1 選定單元格及其工作表區(qū)域操作 105
6.3.2 輸入數據到單元格 106
6.3.3 數據的高效處理 108
6.3.4 單元格數據操作全掌握 109
6.3.5 全面設置單元格屬性 111
6.4 完美溝通幻燈片演示——OpenOffice.org Impress 113
6.4.1 事半功倍創(chuàng)建幻燈片 113
6.4.2 添加幻燈片的動畫效果 117
6.4.3 放映制作好的幻燈片 118
6.5 享受Ubuntu多媒體功能 119
6.5.1 超級全能媒體播放器——MPlayer 119
6.5.2 媒體播放器——Totem 119
6.5.3 音樂播放專家——Rhythmbox 121
6.5.4 無處不在的播放器——RealPlayer 121
6.6 Ubuntu豐富的網絡應用 123
6.6.1 瀏覽器的黑馬——Firefox 123
6.6.2 郵件專家——全能郵件Evolution 126
6.6.3 聊天利器——Pidgin 129
6.6.4 網絡下載工具雙雄——KGet&Filezilla 131
6.6.5 管理Windows Server——Ubuntu終端服務 133
6.7 Ubuntu圖像功能拾粹 134
6.7.1 全能圖片總管Picasa 135
6.7.2 專業(yè)級圖形圖像處理程序GIMP 136
6.8 熟練使用Ubuntu常用工具 139
6.8.1 Ubuntu中的金山詞霸——星際譯王 139
6.8.2 使用Wine安裝Windows程序 142
6.8.3 開心趣味程序和游戲 144
6.8.4 讓Google桌面搜索在Ubuntu中安家 147
6.9 Ubuntu常用開發(fā)環(huán)境的搭建 148
6.9.1 安裝使用Java開發(fā)環(huán)境 148
6.9.2 安裝使用C/C++ IDE開發(fā)工具 150
6.10 小結 152
練習題 153
第7章 讓Ubuntu命令開始工作 154
7.1 基本命令 154
7.1.1 列出文件清單命令:ls 155
7.1.2 改變當前路徑命令:cd 156
7.1.3 查看當前路徑命令:pwd 157
7.1.4 改變文件創(chuàng)建時間及創(chuàng)建空文件命令:touch 157
7.1.5 創(chuàng)建目錄命令:mkdir 158
7.1.6 刪除空目錄命令:rmdir 159
7.1.7 除文件(目錄)命令:rm 159
7.1.8 復制命令:cp 160
7.1.9 移動文件(目錄)命令:mv 160
7.1.10 顯示文件內容命令:cat 161
7.1.11 從頭開始查看文件內容命令:head 161
7.1.12 tail命令 162
7.1.13 分屏顯示文件命令:more(less) 162
7.2 文件處理命令 162
7.2.1 文件比較命令:diff 162
7.2.2 排序命令:sort 163
7.2.3 統(tǒng)計命令: wc 163
7.3 設置權限命令 164
7.3.1 設定權限命令 chmod 164
7.3.2 更改屬主(屬組)命令:chown 168
7.3.3 更改文件屬組命令:chgrp 169
7.4 文件查找命令 169
7.4.1 按路徑進行查找的命令:which 169
7.4.2 按資料庫查找的命令:whereis 170
7.4.3 查找所有匹配的文件的命令:locate 170
7.4.4 功能強大的查找命令:find 170
7.5 壓縮解壓命令 173
7.5.1 壓縮命令:gzip 173
7.5.2 查看壓縮文件內容命令:zcat 174
7.5.3 解壓.zip文件命令:unzip 174
7.5.4 壓縮命令:bzip2 175
7.5.5 查看壓縮文件內容命令:bzcat 175
7.5.6 打包并壓縮命令:tar 175
7.6 關機重啟命令 176
7.6.1 關閉計算機命令:shutdown 177
7.6.2 系統(tǒng)關機命令:halt 177
7.6.3 切換啟動級別命令:init 177
7.6.4 關機命令:poweroff 178
7.6.5 重啟系統(tǒng)命令:reboot 178
7.7 小結 178
練習題 178
第8章 文本編輯器vim/vi 179
8.1 vi工作模式 179
8.1.1 命令模式 180
8.1.2 插入模式 180
8.1.3 編輯模式 180
8.2 進入vi 180
8.2.1 使用vi打開文件 180
8.2.2 直接進入指定位置處 181
8.3 vi基本應用 181
8.3.1 插入命令 181
8.3.2 光標移動命令 182
8.3.3 使用vi進行編輯 183
8.3.4 保存退出命令 185
8.4 vi進階應用 186
8.4.1 vi配置文件 186
8.4.2 多窗口編輯 186
8.4.3 區(qū)域復制 187
8.4.4 定義快捷鍵 187
8.4.5 在vi中與Shell交互 188
8.4.6 文本格式轉換 188
8.4.7 vi的宏記錄 189
8.4.8 幾個小技巧 190
8.5 其他編輯工具 191
8.5.1 ed 191
8.5.2 pico 191
8.5.3 emacs 191
8.6 小結 192
練習題 192
第9章 Shell使用基礎 193
9.1 Shell基礎 193
9.1.1 什么是Shell 193
9.1.2 Shell的種類 194
9.1.3 Shell的功能 194
9.1.4 Shell命令的執(zhí)行 197
9.1.5 Shell的其他優(yōu)點 197
9.2 變量 197
9.2.1 變量的含義 197
9.2.2 變量的種類及Shell的類型 198
9.2.3 變量的定義及顯示 199
9.2.4 位置變量 202
9.2.5 特殊形式的變量 203
9.3 命令的執(zhí)行順序 204
9.4 命令替換 204
9.5 I/O重定向 204
9.6 管道 206
9.7 特殊字符 206
9.8 小結 207
練習題 207
第10章 用戶與群組管理 209
10.1 用戶與組簡介 209
10.1.1 用戶與組的識別 209
10.1.2 Ubuntu中的用戶種類 209
10.2 用戶管理 210
10.2.1 用戶的添加與刪除 210
10.2.2 用戶的宿主目錄 211
10.2.3 用戶登錄文件的配置 211
10.2.4 用戶相關文件與目錄 213
10.3 密碼管理 213
10.3.1 密碼的安全性 214
10.3.2 密碼文件 214
10.3.3 影子密碼文件 215
10.4 添加批量賬號 216
10.5 組管理 217
10.5.1 組的添加與刪除 217
10.5.2 組相關文件 217
10.5.3 有效組與默認組及相互轉換 218
10.6 用戶信息的修改 218
10.6.1 使用usermod修改用戶信息 218
10.6.2 使用groupmod修改組信息 219
10.6.3 查看用戶信息 219
10.7 變換用戶身份 219
10.7.1 su命令 219
10.7.2 sudo命令 221
10.8 用戶登錄控制 222
10.8.1 PAM認證模塊原理 223
10.8.2 PAM的配置文件 223
10.9 小結 224
練習題 225
第11章 硬盤分區(qū)管理 226
11.1 分區(qū)基本知識 226
11.1.1 認識硬盤 226
11.1.2 為什么要分區(qū) 226
11.1.3 Ubuntu的分區(qū) 226
11.2 使用fdisk命令進行硬盤分區(qū) 227
11.2.1 使用df命令查看硬盤分區(qū)信息 227
11.2.2 如何在Ubuntu里添加新硬盤 227
11.2.3 添加分區(qū)的實例 228
11.3 開機自動掛載文件/etc/fstab和/etc/mtab 231
11.3.1 /etc/fstab文件 231
11.3.2 /etc/mtab文件 232
11.4 硬盤管理工具 232
11.4.1 使用du命令查看目錄信息 232
11.4.2 使用fsck命令進行硬盤檢測 233
11.4.3 使用sync命令強制硬盤寫入 233
11.4.4 使用dumpe2fs命令查看硬盤信息 233
11.5 小結 234
練習題 234
第12章 文件系統(tǒng)管理 235
12.1 Ubuntu文件系統(tǒng)簡介 235
12.1.1 Ubuntu所支持的文件系統(tǒng)類型 236
12.1.2 掛載與卸載文件系統(tǒng) 236
12.1.3 Ubuntu的目錄結構 237
12.2 鏈接文件 237
12.2.1 鏈接文件的種類及原理 238
12.2.2 使用ln命令建立鏈接文件 238
12.3 文件高級權限 239
12.3.1 setuid和setgid位 239
12.3.2 黏滯位 242
12.3.3 使用umask命令改變默認權限 243
12.3.4 lsattr和chattr命令設置高級權限 244
12.4 磁盤限額 244
12.4.1 什么是磁盤限額 245
12.4.2 Linux中磁盤限額的基本概念 245
12.4.3 配置磁盤限額 245
12.5 LVM文件系統(tǒng) 247
12.5.1 LVM文件系統(tǒng)簡介 247
12.5.2 LVM文件系統(tǒng)中的概念(PV、VG、LV、PE) 248
12.5.3 實例制作LVM 249
12.6 小結 253
練習題 253
第13章 全面管理Ubuntu 軟件包 255
13.1 透徹了解Ubuntu軟件包 255
13.2 會用底層軟件包管理工具——dpkg 256
13.3 善用高級軟件包管理工具——APT(Advanced Package Tool) 256
13.3.1 迅速查找DEB軟件包 256
13.3.2 用好APT安裝軟件包 257
13.4 文本界面軟件包管理工具 257
13.5 使用新利得軟件包管理器管理軟件包 259
13.6 小結 263
第14章 Ubuntu引導流程 264
14.1 Ubuntu引導流程解析 264
14.1.1 POST自檢并載入內核 264
14.1.2 加載內核 265
14.1.3 執(zhí)行/etc/inittab 265
14.1.4 系統(tǒng)初始化并啟動相應服務 267
14.2 GRUB引導器 267
14.3 GRUB配置文件簡介 268
14.3.1 GRUB配置文件詳解 268
14.3.2 GRUB安全設置 269
14.3.3 GRUB命令行 269
14.3.4 安裝Windows導致GRUB被覆蓋怎么辦 270
14.3.5 單用戶模式排錯 271
14.4 小結 272
練習題 272
第15章 進程的控制與管理 273
15.1 進程的顯示與刪除 273
15.1.1 進程簡介 273
15.1.2 進程種類 273
15.1.3 顯示進程 275
15.1.4 動態(tài)顯示進程 277
15.1.5 刪除進程 278
15.2 進程的優(yōu)先級 278
15.3 前臺與后臺 279
15.3.1 什么是前臺與后臺 279
15.3.2 任務的前后臺背景切換 279
15.4 系統(tǒng)資源的查看 280
15.4.1 使用free命令查看內存 280
15.4.2 啟動信息查看dmesg 280
15.4.3 /proc目錄簡介 281
15.5 設置任務調度 281
15.5.1 at命令 281
15.5.2 cron命令 283
15.6 小結 285
練習題 285
第16章 基本網絡配置 286
16.1 網絡基礎 286
16.1.1 基本的網絡術語 286
16.1.2 TCP/IP簡介 286
16.1.3 IP地址簡介 287
16.1.4 網關和路由簡介 289
16.2 網絡配置相關文件 290
16.2.1 IP地址配置文件 290
16.2.2 DNS配置文件 290
16.2.3 hosts文件 291
16.3 網絡相關命令 291
16.3.1 ifconfig命令 291
16.3.2 ifup和ifdown 292
16.3.3 ping命令 292
16.3.4 netstat命令 292
16.4 小結 292
練習題 293
第17章 基本虛擬化配置 294
17.1 在Ubuntu上安裝配置Xen 294
17.1.1 軟件包的安裝 294
17.1.2 配置虛擬機及其桌面環(huán)境 294
17.1.3 使用映像文件做虛擬硬盤 295
17.1.4 安裝debtstrap 295
17.1.5 配置虛擬機 296
17.1.6 在虛擬機中使用GNOME桌面環(huán)境 296
17.2 在Ubuntu上安裝配置KVM 297
17.2.1 安裝“KVM”和“QEMU”軟件包 297
17.2.2 安裝Ubuntu虛擬機 298
17.2.3 高級網絡配置 299
17.3 其他虛擬化軟件和Ubuntu 302
17.3.1 在QEMU中安裝WindowsXP 302
17.3.2 在Ubuntu中安裝VirtualBox 304
17.4 小結 305
練習題 305
第18章 搭建自動化的Ubuntu網絡環(huán)境 306
18.1 DHCP實現(xiàn)自動分配IP 306
18.1.1 DHCP的常用概念 306
18.1.2 安裝DHCP服務器 307
18.1.3 配置DHCP服務器 307
18.1.4 啟動和關閉DHCP服務 309
18.1.5 租約文件 309
18.1.6 配置DHCP客戶 309
18.2 NAT共享上網服務 310
18.2.1 NAT的基本概念 310
18.2.2 Netfilter/iptables系統(tǒng) 310
18.2.3 與NAT相關的iptables命令語法 313
18.3 小結 314
練習題 314
第19章 Ubuntu文件服務 315
19.1 Ubuntu文件共享應用概述 315
19.2 FTP服務器 315
19.2.1 FTP與FTP服務器 315
19.2.2 Ubuntu中配置FTP服務 315
19.3 Samba服務器 320
19.3.1 SMB協(xié)議和Samba簡介 320
19.3.2 Ubuntu中配置Samba服務 320
19.3.3 Samba常見故障排錯 325
19.4 小結 328
練習題 328
第20章 輕松遠程管理Ubuntu 329
20.1 遠程管理控制——SSH 329
20.1.1 OpenSSH簡介 329
20.1.2 SSH遠程連接 329
20.1.3 SFTP的使用 330
20.1.4 Windows下的SSH客戶端 331
20.2 Webmin管理工具 332
20.2.1 Webmin管理工具概述 332
20.2.2 Webmin的安裝 332
20.2.3 Webmin的常用維護操作 335
20.3 小結 348
練習題 348
第21章 Ubuntu系統(tǒng)安全指南 349
21.1 防火墻配置 349
21.2 安全檢查 352
21.2.1 檢查suid和sgid程序 352
21.2.2 檢查全局/組內用戶可寫的目錄 352
21.2.3 檢查監(jiān)聽端口狀況 353
21.2.4 限制用戶的訪問資源 354
21.2.5 創(chuàng)建ARP表 354
21.2.6 桌面安全 356
21.2.7 防火墻 356
21.3 查毒軟件 357
21.4 使用Tor代理 357
21.5 瀏覽器安全 358
21.6 小結 358
練習題 358
第22章 Shell編程 359
22.1 Shell腳本簡介 359
22.2 Shell腳本語言的基本語法 359
22.2.1 建立第一個Shell腳本 359
22.2.2 Shell腳本的執(zhí)行 360
22.2.3 交互式腳本 360
22.2.4 變量的數值運算 361
22.2.5 腳本邏輯判斷與表達式 361
22.2.6 條件判斷if語句 363
22.2.7 case命令 365
22.2.8 循環(huán) 366
22.2.9 continue語句和break語句 367
22.2.10 exit命令 368
22.2.11 函數 368
22.3 腳本調試 368
22.4 正則表達式 369
22.4.1 以^匹配行首字符 369
22.4.2 以$匹配行尾字符 370
22.4.3 以.匹配單個字符 370
22.4.4 以*匹配0個或者多個字符序列 371
22.4.5 以[]匹配單個字符或者一個范圍 371
22.4.6 使用\{\}模式匹配字符出現(xiàn)的次數 371
22.4.7 擴展的正則表達式元字符 372
22.5 如何保護Shell程序 372
22.5.1 改變Shell程序執(zhí)行環(huán)境 372
22.5.2 加密Shell程序 373
22.6 小結 374
練習題 374
第23章 Ubuntu LAMP 環(huán)境的搭建 376
23.1 以LAMP方式安裝Ubuntu Server 376
23.1.1 Apache服務器介紹 376
23.1.2 MySQL數據庫介紹 377
23.1.3 PHP介紹 378
23.1.4 安裝Ubuntu Server 378
23.2 Apache的配置和使用 380
23.2.1 Apache配置文件說明 380
23.2.2 定制Apache 383
23.3 MySQL的配置和使用 385
23.3.1 MySQL常用命令 385
23.3.2 輕松管理MySQL的利器——phpMyAdmin 386
23.4 PHP的配置和使用 391
23.4.1 設置PHP配置文件 391
23.5 小結 392
練習題 392
第24章 安全配置 Ubuntu服務器 393
24.1 隱藏Apache版本信息 393
24.1.1 使用Mod-Security保護Apache服務器 393
24.1.2 使用Suhosin保護PHP 394
24.1.3 禁用PHP的危險函數 395
24.1.4 隱藏PHP版本信息 395
24.1.5 禁用Telnet 395
24.1.6 加固SSH 396
24.1.7 修改SSH的默認端口 396
24.1.8 禁止編譯 396
24.1.9 ProFTP 396
24.1.10 訪問控制 397
24.1.11 創(chuàng)建SU用戶組 397
24.1.12 Root用戶通知 397
24.1.13 加固歷史記錄 397
24.1.14 使用歡迎消息 398
24.1.15 禁用所有特殊用戶 398
24.1.16 修改危險文件的權限 398
24.1.17 限制Root用戶使用的TTY設備 399
24.1.18 使用安全的密碼 399
24.1.19 檢查Rootkit 399
24.1.20 安裝補丁 399
24.1.21 關閉無用的服務 400
24.1.22 檢查監(jiān)聽端口 400
24.1.23 加固內核(sysctl.conf) 400
24.1.24 加固臨時目錄 402
24.2 高安全需求的配置方法 403
24.2.1 安裝配置Apache 2 403
24.2.2 配置Apache 406
24.2.3 Chroot環(huán)境 408
24.2.4 啟動腳本 409
24.3 安全配置PHP 410
24.3.1 功能需求 410
24.3.2 安裝PHP 410
24.3.3 Chroot環(huán)境 412
24.3.4 配置PHP 413
24.3.5 防止跨站腳本攻擊和SQL注入攻擊 414
24.4 安全配置MySQL 414
24.4.1 功能需求 415
24.4.2 安裝MySQL 415
24.4.3 測試MySQL 416
24.4.4 Chroot環(huán)境 416
24.4.5 配置服務器 418
24.5 PHP與MySQL的通信 419
24.5.1 啟動腳本 419
24.6 小結 420
練習題 420
第25章 Ubuntu Server 架站實務 421
25.1 快速打造自己的網站 421
25.1.1 Mombo簡介 421
25.1.2 安裝. 421
25.2 迅速搭建網站論壇BBS 426
25.2.1 Discuz簡介 426
25.2.2 安裝 426
25.2.3 設置 433
25.3 Blog和WiKi閃電上線 434
25.3.1 Blog簡介 434
25.3.2 Blog安裝 434
25.3.3 Wiki簡介 439
25.3.4 Wiki安裝 439
25.3.5 設置 442
25.4 網站的安全與管理 443
25.4.1 網站安全措施 443
25.4.2 網站的日常管理 446
25.5 小結 446
練習題 446
附錄A GNU通用公共授權(第二版) 447
附錄B GNU通用公共授權(第三版) 452
附錄C Ubuntu與Windows常用程序對照表 461