鳥哥LINUX私房菜,基礎學習第三版對LINUX系統入門操作介紹的非常詳細。基礎篇內容就非常多,非常詳實,書中如果發現有錯或者不懂的地方,可以去鳥哥的網站的論壇反映或者詢問,說排版不好應該不是大問題,關鍵是內容很好。鳥哥私房菜是經典的linux學習工具書,是必不可少的!
鳥哥的linux私房菜第三版介紹
本書是最具知名度的Linux入門書《鳥哥的Linux私房菜基礎學習篇》的最新版,全面而詳細地介紹了Linux操作系統。全書分為5個部分:第一部分著重說明Linux的起源及功能,如何規劃和安裝Linux主機;第二部分介紹Linux的文件系統、文件、目錄與磁盤的管理;第三部分介紹文字模式接口shell和管理系統的好幫手shell腳本,另外還介紹了文字編輯器vi和vim的使用方法;第四部分介紹了對于系統安全非常重要的Linux賬號的管理,以及主機系統與程序的管理,如查看進程、任務分配和作業管理;第五部分介紹了系統管理員(root)的管理事項,如了解系統運行狀況、系統服務,針對登錄文件進行解析,對系統進行備份以及核心的管理等。
鳥哥的linux私房菜第三版目錄
第一部分 Linux的規則與安裝
第0章 計算機概論 1
0.1 計算機:輔助人腦的好工具 2
0.1.1 計算機硬件的五大單元 2
0.1.2 CPU的種類 3
0.1.3 接口設備 4
0.1.4 運作流程 4
0.1.5 計算機分類 5
0.1.6 計算機上面常用的計算單位(大小、速度等) 6
0.2 個人計算機架構與接口設備 7
0.2.1 CPU 7
0.2.2 內存 9
0.2.3 顯卡 11
0.2.4 硬盤與存儲設備 12
0.2.5 PCI適配卡 14
0.2.6 主板 15
0.2.7 電源 16
0.2.8 選購須知 16
0.3 數據表示方式 17
0.3.1 數字系統 17
0.3.2 文字編碼系統 18
0.4 軟件程序運行 18
0.4.1 機器程序與編譯程序 18
0.4.2 操作系統 19
0.4.3 應用程序 22
0.5 重點回顧 22
0.6 本章習題 23
0.7 參考數據與擴展閱讀 24
第1章 Linux是什么 25
1.1 Linux是什么 26
1.1.1 Linux是什么 26
1.1.2 Linux之前UNIX的歷史 27
1.1.3 關于GNU項目 32
1.2 Torvalds的Linux開發 34
1.2.1 Minix 34
1.2.2 對386硬件的多任務測試 35
1.2.3 初次釋出Linux 0.02 36
1.2.4 Linux的開發:虛擬團隊的產生 37
1.2.5 Linux的內核版本 38
1.2.6 Linux distributions 39
1.3 Linux的特色 42
1.3.1 Linux的特色 42
1.3.2 Linux的優缺點 43
1.3.3 關于授權 45
1.4 重點回顧 46
1.5 本章習題 46
1.6 參考數據與擴展閱讀 47
第2章 Linux如何學習 48
2.1 Linux當前的應用角色 49
2.1.1 企業環境的利用 49
2.1.2 個人環境的使用 50
2.2 鳥哥的Linux苦難經驗回憶錄 51
2.2.1 鳥哥的Linux學習之路 51
2.2.2 學習心態的分別 53
2.2.3 X Window的學習 54
2.3 有心向Linux操作系統學習者學習態度 55
2.3.1 從頭學習Linux基礎 56
2.3.2 選擇一本易讀的工具書 57
2.3.3 實踐再實踐 57
2.3.4 發生問題怎么處理.. 58
2.4 鳥哥的建議(重點在Solution的學習) 59
2.5 重點回顧 60
2.6 本章習題 61
2.7 參考數據與擴展閱讀 61
第3章 主機規劃與磁盤分區 62
3.1 Linux與硬件的搭配 63
3.1.1 認識計算機的硬件配置 63
3.1.2 選擇與Linux搭配的主機配置 64
3.1.3 各硬件設備在Linux中的文件名 66
3.2 磁盤分區 67
3.2.1 磁盤連接的方式與設備文件名的關系 67
3.2.2 磁盤的組成復習 68
3.2.3 磁盤分區表(partition table) 69
3.2.4 開機流程與主引導分區(MBR) 72
3.2.5 Linux安裝模式下,磁盤分區的選擇(極重要) 74
3.3 安裝Linux前的規劃 76
3.3.1 選擇適當的distribution 76
3.3.2 主機的服務規劃與硬件的關系 77
3.3.3 主機硬盤的主要規劃 79
3.3.4 鳥哥說:關于練習機的安裝建議 80
3.3.5 鳥哥的兩個實際案例 80
3.3.6 大硬盤配合舊主機造成的無法開機問題 81
3.4 重點回顧 82
3.5 本章習題 82
3.6 參考數據與擴展閱讀 82
第4章 安裝CentOS 5.x與多重引導小技巧 83
4.1 本練習機的規劃(尤其是分區參數) 84
4.2 開始安裝CentOS 5 85
4.2.1 調整啟動媒體(BIOS) 86
4.2.2 選擇安裝結構與開機 87
4.2.3 選擇語系數據 89
4.2.4 磁盤分區 90
4.2.5 引導裝載程序、網絡、時區設置與root密碼 95
4.2.6 軟件選擇 98
4.2.7 其他功能:RAM testing、安裝筆記本電腦的內核參數(Option) 99
4.3 安裝后的首次設置 100
4.4 多重引導安裝流程與技巧 104
4.4.1 新主機僅有一塊硬盤 104
4.4.2 舊主機有兩塊以上硬盤 105
4.4.3 舊主機只有一塊硬盤 105
4.5 關于大硬盤導致無法開機的問題 106
4.6 重點回顧 106
4.7 本章習題 107
4.8 參考數據與擴展閱讀 107
第5章 首次登錄與在線求助man page 108
5.1 首次登錄系統 109
5.1.1 首次登錄CentOS 5.x圖形界面 109
5.1.2 GNOME的操作與注銷 110
5.1.3 KDE的操作與注銷 113
5.1.4 X Window與命令行模式的切換 115
5.1.5 在終端界面登錄linux 116
5.2 在命令行模式下執行命令 117
5.2.1 開始執行命令 117
5.2.2 基礎命令的操作 118
5.2.3 重要的熱鍵[Tab], [ctrl]-c, [ctrl]-d 121
5.2.4 錯誤信息的查看 122
5.3 Linux系統的在線求助man page與info page 122
5.3.1 man page 123
5.3.2 info page 127
5.3.3 其他有用的文件(documents) 129
5.4 超簡單文本編輯器:nano 130
5.5 正確的關機方法 131
5.5.1 數據同步寫入磁盤:sync 132
5.5.2 慣用的關機命令:shutdown 132
5.5.3 重啟、關機:reboot, halt, poweroff 133
5.5.4 切換執行等級:init 133
5.6 開機過程的問題排解 134
5.6.1 文件系統錯誤的問題 134
5.6.2 忘記root密碼 135
5.7 重點回顧 136
5.8 本章習題 136
5.9 參考數據與擴展閱讀 137
第二部分 Linux文件、目錄與磁盤格式
第6章 Linux的文件權限與目錄配置 138
6.1 用戶與用戶組 139
6.2 Linux文件權限概念 140
6.2.1 Linux文件屬性 141
6.2.2 如何改變文件屬性與權限 144
6.2.3 目錄與文件的權限意義 147
6.2.4 Linux文件種類與擴展名 150
6.3 Linux目錄配置 152
6.3.1 Linux目錄配置標準:FHS 152
6.3.2 目錄樹(directory tree) 156
6.3.3 絕對路徑與相對路徑 158
6.3.4 CentOS的查看 159
6.4 重點回顧 159
6.5 本章練習 160
6.6 參考數據與擴展閱讀 160
第7章 Linux文件與目錄管理 161
7.1 目錄與路徑 162
7.1.1 相對路徑與絕對路徑 162
7.1.2 目錄的相關操作 162
7.1.3 關于執行文件路徑的變量:$PATH 165
7.2 文件與目錄管理 167
7.2.1 查看文件與目錄:ls 167
7.2.2 復制、刪除與移動:cp, rm, mv 169
7.2.3 取得路徑的文件名與目錄名稱 173
7.3 文件內容查閱 173
7.3.1 直接查看文件內容 173
7.3.2 可翻頁查看 175
7.3.3 數據選取 176
7.3.4 非純文本文件:od 177
7.3.5 修改文件時間或創建新文件:touch 178
7.4 文件與目錄的默認權限與隱藏權限 180
7.4.1 文件默認權限:umask 181
7.4.2 文件隱藏屬性:chattr, lsattr 183
7.4.3 文件特殊權限:SUID, SGID, SBIT 184
7.4.4 查看文件類型:file 187
7.5 命令與文件的查詢 187
7.5.1 腳本文件名的查詢 187
7.5.2 文件名的查找 188
7.6 權限與命令間的關系(極重要) 192
7.7 重點回顧 193
7.8 本章習題 194
7.9 參考數據與擴展閱讀 195
第8章 Linux磁盤與文件系統管理 196
8.1 認識EXT2文件系統 197
8.1.1 硬盤組成與分區的復習 197
8.1.2 文件系統特性 197
8.1.3 Linux的EXT2文件系統(inode) 199
8.1.4 與目錄樹的關系 204
8.1.5 EXT2/EXT3文件的訪問與日志文件系統的功能 206
8.1.6 Linux文件系統的操作 208
8.1.7 掛載點(mount point)的意義 208
8.1.8 其他Linux支持的文件系統 與VFS 209
8.2 文件系統的簡單操作 210
8.2.1 磁盤與目錄的容量:df, du 210
8.2.2 連接文件:ln 213
8.3 磁盤的分區、格式化、檢驗與掛載 217
8.3.1 磁盤分區:fdisk 217
8.3.2 磁盤格式化 223
8.3.3 磁盤檢驗:fsck, badblocks 225
8.3.4 磁盤掛載與卸載 226
8.3.5 磁盤參數修改 231
8.4 設置開機掛載 234
8.4.1 開機掛載/etc/fstab及/etc/mtab 234
8.4.2 特殊設備loop掛載(鏡像文件不刻錄就掛載使用) 236
8.5 內存交換空間(swap)的構建 238
8.5.1 使用物理分區構建swap 238
8.5.2 使用文件構建swap 240
8.5.3 swap使用上的限制 241
8.6 文件系統的特殊查看與操作 241
8.6.1 boot sector與superblock的關系 241
8.6.2 磁盤空間的浪費問題 243
8.6.3 利用GNU的parted進行分區行為 243
8.7 重點回顧 245
8.8 本章習題 245
8.9 參考數據與擴展閱讀 246
第9章 文件與文件系統的壓縮與打包 248
9.1 壓縮文件的用途與技術 249
9.2 Linux系統常見的壓縮命令 250
9.2.1 Compress 250
9.2.2 gzip, zcat 252
9.2.3 bzip2, bzcat 253
9.3 打包命令:tar 253
9.3.1 tar 254
9.4 完整備份工具:dump 259
9.4.1 dump 259
9.4.2 restore 262
9.5 光盤寫入工具 265
9.5.1 mkisofs:新建鏡像文件 265
9.5.2 Cdrecord:光盤刻錄工具 267
9.6 其他常見的壓縮與備份工具 269
9.6.1 dd 269
9.6.2 Cpio 270
9.7 重點回顧 272
9.8 本章習題 272
9.9 參考數據與擴展閱讀 273
第三部分 學習shell與shell script
第10章 vim程序編輯器 274
10.1 vi與vim 275
10.1.1 為何要學vim 275
10.2 vi的使用 276
10.2.1 簡單執行范例 277
10.2.2 按鍵說明 278
10.2.3 一個案例練習 281
10.2.4 vim的保存文件、恢復與打開時的警告信息 282
10.3 vim的功能 284
10.3.1 塊選擇(Visual Block) 285
10.3.2 多文件編輯 286
10.3.3 多窗口功能 286
10.3.4 vim環境設置與記錄:~/.vimrc, ~/.viminfo 287
10.3.5 vim常用命令示意圖 289
10.4 其他vim使用注意事項 289
10.4.1 中文編碼的問題 289
10.4.2 DOS與Linux的斷行字符 290
10.4.3 語系編碼轉換 290
10.5 重點回顧 291
10.6 本章練習 291
10.7 參考數據與擴展閱讀 292
第11章 認識與學習bash 293
11.1 認識bash這個shell 294
11.1.1 硬件、內核與shell 294
11.1.2 為何要學命令行界面的shell 295
11.1.3 系統的合法shell與/etc/shells功能 295
11.1.4 bash shell的功能 296
11.1.5 bash shell的內置命令:type 298
11.1.6 命令的執行 298
11.2 shell的變量功能 299
11.2.1 什么是變量 299
11.2.2 變量的顯示與設置:echo, unset 300
11.2.3 環境變量的功能 304
11.2.4 影響顯示結果的語系變量(locale) 308
11.2.5 變量的有效范圍 309
11.2.6 變量鍵盤讀取、數組與聲明:read,array,declare 310
11.2.7 與文件系統及程序的限制關系:ulimit 312
11.2.8 變量內容的刪除、替代與替換 313
11.3 命令別名與歷史命令 317
11.3.1 命令別名設置:alias,unalias 317
11.3.2 歷史命令:history 318
11.4 Bash Shell的操作環境 320
11.4.1 路徑與命令查找順序 320
11.4.2 bash的登錄與歡迎信息:/etc/issue, /etc/motd 320
11.4.3 bash 的環境配置文件 321
11.4.4 終端機的環境設置:stty, set 325
11.4.5 通配符與特殊符號 327
11.5 數據流重定向 328
11.5.1 什么是數據流重定向 329
11.5.2 命令執行的判斷依據:;,&&, || 331
11.6 管道命令(pipe) 334
11.6.1 選取命令:cut, grep 334
11.6.2 排序命令:sort,wc,uniq 336
11.6.3 雙向重定向:tee 338
11.6.4 字符轉換命令:tr,col,join,paste,expand 338
11.6.5 切割命令:split 342
11.6.6 參數代換:xargs 342
11.6.7 關于減號-的用途 343
11.7 重點回顧 344
11.8 本章習題 344
11.9 參考數據與擴展閱讀 345
第12章 正則表達式與文件格式化處理 346
12.1 前言:什么是正則表達式 347
12.1.1 什么是正則表達式 347
12.1.2 正則表達式對于系統管理員的用途 347
12.1.3 正則表達式的廣泛用途 348
12.1.4 正則表達式與Shell在Linux當中的角色定位 348
12.1.5 擴展的正則表達式 348
12.2 基礎正則表達式 348
12.2.1 語系對正則表達式的影響 349
12.2.2 grep的一些高級參數 349
12.2.3 基礎正則表達式練習 350
12.2.4 基礎正則表達式字符(characters) 356
12.2.5 sed工具 357
12.3 擴展正則表達式 361
12.4 文件的格式化與相關處理 362
12.4.1 格式化打印:printf 362
12.4.2 awk:好用的數據處理工具 363
12.4.3 文件比較工具 366
12.4.4 文件打印準備:pr 369
12.5 重點回顧 369
12.6 本章習題 370
12.7 參考數據與擴展閱讀 371
第13章 學習shell script 372
13.1 什么是shell script 373
13.1.1 為什么學習shell script 373
13.1.2 第一個script的編寫與執行 374
13.1.3 編寫shell script的良好習慣 376
13.2 簡單的shell script練習 376
13.2.1 簡單范例 377
13.2.2 script的執行方式區別(source, shscript, ./script) 378
13.3 善用判斷式 379
13.3.1 利用test命令的測試功能 380
13.3.2 利用判斷符號[] 382
13.3.3 shell script的默認變量($0, $1...) 383
13.4 條件判斷式 385
13.4.1 利用if...then 385
13.4.2 利用case...esac判斷 389
13.4.3 利用function功能 391
13.5 循環(loop) 393
13.5.1 while do done, until do done(不定循環) 393
13.5.2 for...do...done(固定循環) 394
13.5.3 for...do...done的數值處理 396
13.6 shell script的追蹤與調試 397
13.7 重點回顧 398
13.8 本章習題 398
13.9 參考數據與擴展閱讀 399
第四部分 Linux使用者管理
第14章 Linux賬號管理與ACL權限設置 400
14.1 Linux的賬號與用戶組 401
14.1.1 用戶標識符:UID與GID 401
14.1.2 用戶賬號 402
14.1.3 有效與初始用戶組:groups, newgrp 406
14.2 賬號管理 409
14.2.1 新增與刪除用戶:useradd, 相關配置文件, passwd, usermod, userdel 409
14.2.2 用戶功能 417
14.2.3 新增與刪除用戶組 420
14.2.4 賬號管理實例 422
14.3 主機的具體權限規劃:ACL的使用 423
14.3.1 什么是ACL 423
14.3.2 如何啟動ACL 423
14.3.3 ACL的設置技巧:getfacl, setfacl 424
14.4 用戶身份切換 427
14.4.1 su 428
14.4.2 sudo 429
14.5 用戶的特殊shell與PAM模塊 433
14.5.1 特殊的shell, /sbin/nologin 433
14.5.2 PAM模塊簡介 434
14.5.3 PAM模塊設置語法 435
14.5.4 常用模塊簡介 437
14.5.5 其他相關文件 439
14.6 Linux主機上的用戶信息傳遞 440
14.6.1 查詢用戶:w, who, last, lastlog 440
14.6.2 用戶對談:write, mesg, wall 441
14.6.3 用戶郵件信箱:mail 441
14.7 手動新增用戶 443
14.7.1 一些檢查工具 443
14.7.2 特殊賬號(如純數字賬號)的手工新建 444
14.7.3 批量新建賬號模板(適用于passwd --stdin參數) 445
14.7.4 批量新建賬號的范例(適用于連續數字,如學號) 446
14.8 重點回顧 448
14.9 本章習題 449
14.10 參考數據與擴展閱讀 450
第15章 磁盤配額(Quota)與高級文件系統管理 451
15.1 磁盤配額(Quota)的應用與實踐 452
15.1.1 什么是Quota 452
15.1.2 一個Quota范例 454
15.1.3 實踐Quota流程1:文件系統支持 454
15.1.4 實踐Quota流程2:新建Quota配置文件 455
15.1.5 實踐Quota流程3:Quota啟動、關閉與限制值設置 456
15.1.6 實踐Quota流程4:Quota限制值的報表 458
15.1.7 實踐Quota流程5:測試與管理 459
15.1.8 不改動既有系統的Quota實例 462
15.2 軟件磁盤陣列(Software RAID) 463
15.2.1 什么是RAID 463
15.2.2 software, hardware RAID 466
15.2.3 軟件磁盤陣列的設置 467
15.2.4 仿真RAID錯誤的救援模式 470
15.2.5 開機自動啟動 RAID 并自動掛載 472
15.2.6 關閉軟件RAID(重要!) 472
15.3 邏輯卷管理器(Logical Volume Manager) 473
15.3.1 什么是LVM:PV, PE, VG, LV的意義 473
15.3.2 LVM實作流程 475
15.3.3 放大LV容量 479
15.3.4 縮小LV容量 481
15.3.5 LVM的系統快照 483
15.3.6 LVM相關命令匯整與LVM的關閉 488
15.4 重點回顧 489
15.5 本章習題 489
15.6 參考數據與擴展閱讀 491
第16章 例行性工作(crontab) 492
16.1 什么是例行性工作 493
16.1.1 Linux工作調度的種類:at, cron 493
16.1.2 Linux上常見的例行性工作 493
16.2 僅執行一次的工作調度 494
16.2.1 atd的啟動與at運行的方式 494
16.2.2 實際運行單一工作調度 495
16.3 循環執行的例行性工作調度 498
16.3.1 用戶的設置 498
16.3.2 系統的配置文件:/etc/crontab 500
16.3.3 一些注意事項 501
16.4 可喚醒停機期間的工作任務 502
16.4.1 什么是anacron 503
16.4.2 anacron與/etc/anacrontab 503
16.5 重點回顧 504
16.6 本章習題 505
第17章 程序管理與SELinux初探 506
17.1 什么是進程(process) 507
17.1.1 進程與程序(process & program) 507
17.1.2 Linux的多用戶、多任務環境 509
17.2 工作管理(job control) 511
17.2.1 什么是工作管理 511
17.2.2 job control的管理 511
17.2.3 脫機管理問題 515
17.3 進程管理 515
17.3.1 進程的查看 516
17.3.2 進程的管理 521
17.3.3 關于進程的執行順序 523
17.3.4 系統資源的查看 525
17.4 特殊文件與程序 530
17.4.1 具有SUID/SGID權限的命令執行狀態 530
17.4.2 /proc/* 代表的意義 531
17.4.3 查詢已打開文件或已執行程序打開的文件 532
17.5 SELinux初探 534
17.5.1 什么是SELinux 534
17.5.2 SELinux的運行模式 536
17.5.3 SELinux的啟動、關閉與查看 538
17.5.4 SELinux網絡服務運行范例 540
17.5.5 SELinux所需的服務 542
17.5.6 SELinux的策略與規則管理 544
17.6 重點回顧 547
17.7 本章習題 548
17.8 參考數據與擴展閱讀 550
第18章 認識系統服務(daemons) 551
18.1 什么是daemon與服務(service) 552
18.1.1 daemon的主要分類 552
18.1.2 服務與端口的對應 554
18.1.3 daemon的啟動腳本與啟動方式 555
18.2 解析super daemon的配置文件 558
18.2.1 默認值配置文件:xinetd.conf 558
18.2.2 一個簡單的rsync范例設置 561
18.3 服務的防火墻管理xinetd, TCP Wrappers 562
18.3.1 /etc/hosts.allow, /etc/hosts.deny管理 563
18.3.2 TCP Wrappers特殊功能 565
18.4 系統開啟的服務 565
18.4.1 查看系統啟動的服務 566
18.4.2 設置開機后立即啟動服務的方法 566
18.4.3 CentOS 5.x默認啟動的服務簡易說明 569
18.5 重點回顧 572
18.6 本章習題 573
18.7 參考數據與擴展閱讀 574
第19章 認識與分析日志文件 575
19.1 什么是日志文件 576
19.2 syslogd:記錄日志文件的服務 578
19.2.1 日志文件內容的一般格式 578
19.2.2 syslog的配置文件:/etc/syslog.conf 579
19.2.3 日志文件的安全性設置 583
19.2.4 日志文件服務器的設置 584
19.3 日志文件的輪替(logrotate) 585
19.3.1 logrotate的配置文件 586
19.3.2 實際測試logrotate的操作 588
19.3.3 自定義日志文件的輪替功能 589
19.4 分析日志文件 590
19.4.1 CentOS默認提供的logwatch 590
19.4.2 鳥哥自己寫的日志文件分析工具 591
19.5 重點回顧 593
19.6 本章習題 594
19.7 參考數據與擴展閱讀 594
第五部分 Linux系統管理員
第20章 啟動流程、模塊管理與Loader 595
20.1 Linux的啟動流程分析 596
20.1.1 啟動流程一覽 596
20.1.2 BIOS,boot loader與kernel加載 596
20.1.3 第一個進程init及配置文件/etc/inittab與runlevel 601
20.1.4 init處理系統初始化流程(/etc/rc.d/rc.sysinit) 603
20.1.5 啟動系統服務與相關啟動配置文件(/etc/rc.d/rc N &/etc/sysconfig) 604
20.1.6 用戶自定義開機啟動程序(/etc/rc.d/rc.local) 605
20.1.7 根據/etc/inittab的設置加載終端機或X Window界面 605
20.1.8 啟動過程會用到的主要配置文件 606
20.1.9 Run level的切換 607
20.2 內核與內核模塊 608
20.2.1 內核模塊與依賴性 608
20.2.2 內核模塊的查看 609
20.2.3 內核模塊的加載與刪除 610
20.2.4 內核模塊的額外參數設置:/etc/modprobe.conf 611
20.3 Boot Loader: Grub 611
20.3.1 boot loader的兩個stage 611
20.3.2 grub的配置文件/boot/grub/menu.lst與菜單類型 612
20.3.3 initrd的重要性與創建新initrd文件 616
20.3.4 測試與安裝grub 617
20.3.5 啟動前的額外功能修改 620
20.3.6 關于內核功能當中的vga設置 621
20.3.7 BIOS無法讀取大硬盤的問題 622
20.3.8 為某個菜單加上密碼 623
20.4 啟動過程的問題解決 624
20.4.1 忘記root密碼的解決之道 624
20.4.2 init配置文件錯誤 625
20.4.3 BIOS磁盤對應的問題(device.map) 625
20.4.4 因文件系統錯誤而無法啟動 626
20.4.5 利用chroot切換到另一塊硬盤工作 626
20.5 重點回顧 627
20.6 本章習題 627
20.7 參考數據與擴展閱讀 628
第21章 系統設置工具(網絡與打印機)與硬件檢測 629
21.1 CentOS系統設置工具:setup 630
21.1.1 用戶身份驗證設置 631
21.1.2 網絡配置選項(手動設置IP與自動獲取) 632
21.1.3 防火墻設置 633
21.1.4 鍵盤形式設置 634
21.1.5 系統服務的啟動與否設置 635
21.1.6 系統時鐘的時區設置 635
21.1.7 X窗口界面分辨率設置 635
21.2 利用CUPS設置Linux打印機 636
21.2.1 Linux的打印組件(打印操作、隊列、服務與打印機) 636
21.2.2 CUPS支持的聯機模式 639
21.2.3 以Web界面管理網絡打印機 640
21.2.4 以Web界面管理USB本地打印機 643
21.2.5 將Linux本地打印機開放成為網絡打印機 644
21.2.6 手動設置打印機 645
21.3 硬件數據收集與驅動及lm_sensors 649
21.3.1 硬件信息的收集與分析 649
21.3.2 驅動USB設備 651
21.3.3 使用lm_sensors取得溫度、電壓等信息 653
21.3.4 udev與hal簡介 655
21.4 重點回顧 656
21.5 本章習題 657
21.6 參考數據與擴展閱讀 657
第22章 軟件安裝:源碼與Tarball 658
22.1 開放源碼的軟件安裝與升級簡介 659
22.1.1 什么是開放源碼、編譯程序與可執行文件 659
22.1.2 什么是函數庫 660
22.1.3 什么是make與configure 661
22.1.4 什么是Tarball的軟件 662
22.1.5 如何安裝與升級軟件 662
22.2 使用傳統程序語言進行編譯的簡單范例 663
22.2.1 單一程序:打印Hello World 663
22.2.2 主程序、子程序鏈接:子程序的編譯 665
22.2.3 調用外部函數庫:加入鏈接的函數庫 666
22.2.4 gcc的簡易用法(編譯、參數與鏈接) 667
22.3 用make進行宏編譯 667
22.3.1 為什么要用make 667
22.3.2 makefile的基本語法與變量 668
22.4 Tarball的管理與建議 670
22.4.1 使用源碼管理軟件所需要的基礎軟件 671
22.4.2 Tarball安裝的基本步驟 671
22.4.3 一般Tarball軟件安裝的建議事項(如何刪除、升級) 673
22.4.4 一個簡單的范例(利用ntp來示范) 674
22.4.5 利用patch更新源碼 675
22.5 函數庫管理 677
22.5.1 動態與靜態函數庫 677
22.5.2 ldconfig與/etc/ld.so.conf 678
22.5.3 程序的動態函數庫解析:ldd 679
22.6 檢驗軟件正確性 680
22.7 重點回顧 682
22.8 本章習題 682
22.9 參考數據與擴展閱讀 683
第23章 軟件安裝:RPM、SRPM與YUM功能 684
23.1 軟件管理器簡介 685
23.1.1 Linux界的兩大主流:RPM與DPKG 685
23.1.2 什么是RPM與SRPM 686
23.1.3 什么是i386、i586、i686、noarch、x86_64 687
23.1.4 RPM的優點 688
23.1.5 RPM屬性依賴的解決方式:YUM在線升級 689
23.2 RPM軟件管理程序:rpm 690
23.2.1 RPM默認安裝的路徑 690
23.2.2 RPM安裝(install) 690
23.2.3 RPM升級與更新(upgrade/freshen) 692
23.2.4 RPM查詢(query) 692
23.2.5 RPM驗證與數字證書(Verify/Signature) 694
23.2.6 卸載RPM與重建數據庫(erase/rebuilddb) 697
23.3 SRPM的使用:rpmbuild 697
23.3.1 利用默認值安裝SRPM文件(--rebuid/--recompile) 698
23.3.2 SRPM使用的路徑與需要的軟件 698
23.3.3 設置文件的主要內容(*.spec) 699
23.3.4 SRPM的編譯命令(-ba/-bb) 703
23.3.5 一個打包自己軟件的范例 703
23.4 YUM在線升級機制 705
23.4.1 利用yum進行查詢、安裝、升級與刪除功能 705
23.4.2 yum的設置文件 709
23.4.3 yum的軟件組功能 710
23.4.4 全系統自動升級 711
23.5 管理的抉擇:RPM還是Tarball 711
23.6 重點回顧 712
23.7 本章習題 713
23.8 參考數據與擴展閱讀 714
第24章 X Window設置介紹 715
24.1 什么是X Window System 716
24.1.1 X Window的發展簡史 716
24.1.2 主要組件:X Server/X Client/Window Manager/DisplayManager 717
24.1.3 X Window的啟動流程 719
24.1.4 X啟動流程測試 722
24.1.5 我是否需要啟用X Window System 723
24.2 X Server設置文件解析與設置 724
24.2.1 解析xorg.conf設置 724
24.2.2 X Font Server(XFS)與加入其他中文字體 727
24.2.3 設置文件重建與顯示器參數微調 729
24.3 顯卡驅動程序安裝范例 730
24.3.1 NVidia 730
24.3.2 ATI (AMD) 732
24.3.3 Intel 733
24.4 重點回顧 733
24.5 本章習題 734
24.6 參考數據與擴展閱讀 734
第25章 Linux備份策略 735
25.1 備份要點 736
25.1.1 備份資料的考慮 736
25.1.2 備份哪些Linux數據 737
25.1.3 選擇備份設備 738
25.2 備份的種類、頻率與工具的選擇 740
25.2.1 完整備份的增量備份(Incremental backup) 740
25.2.2 完整備份的差異備份(differential backup) 742
25.2.3 關鍵數據備份 743
25.3 鳥哥的備份策略 743
25.3.1 每周系統備份的script 744
25.3.2 每日備份數據的script 745
25.3.3 遠程備份的 script 746
25.4 災難恢復的考慮 747
25.5 重點回顧 747
25.6 本章習題 748
25.7 參考數據與擴展閱讀 748
第26章 Linux內核編譯與管理 749
26.1 編譯前的任務:認識內核與取得內核源代碼 750
26.1.1 什么是內核(Kernel) 750
26.1.2 更新內核的目的 751
26.1.3 內核的版本 752
26.1.4 內核源代碼的取得方式 753
26.1.5 內核源代碼的解壓縮/安裝/觀察 754
26.2 內核編譯的前處理與內核功能選擇 755
26.2.1 硬件環境查看與內核功能要求 755
26.2.2 保持干凈源代碼:make mrproper 755
26.2.3 開始挑選內核功能:make XXconfig 756
26.2.4 內核功能細項選擇 757
26.3 內核的編譯與安裝 768
26.3.1 編譯內核與內核模塊 768
26.3.2 實際安裝模塊 769
26.3.3 開始安裝新內核與多重內核菜單(grub) 770
26.4 額外(單一)內核模塊編譯 771
26.4.1 編譯前注意事項 771
26.4.2 單一模塊編譯 772
26.4.3 內核模塊管理 773
26.5 重點回顧 773
26.6 本章習題 773
26.7 參考數據與擴展閱讀 774
附錄A 快速索引 775
- PC官方版
- 安卓官方手機版
- IOS官方手機版