Linux操作系統設計與構建
Linux操作系統設計與構建
主 編:張同光
出版單位:清華大學出版社
ISBN:978-7-302-66455-0
ISBN:9787302664550
出版時間:2024.7
CIP:2024109737
定價:¥59.8
需要本書配套資源的朋友可以加我微信:ztguang
內 容 簡 介
本書以“成功設計與構建可用的Linux操作系統”為編寫目標,共包括15章:Linux操作系統的設計、構建Linux操作系統的技術基礎、構建極簡版Linux發行版、構建SLFS交叉工具鏈和臨時工具、構建SLFS發行版、登錄相關配置和部分基本軟件、通用庫、工具、網絡和服務器、圖形組件、GNOME、Xfce、圖形界面軟件、多媒體、排版、打印和掃描。第1、2章介紹相關理論和技術基礎。第3章介紹一個極簡版Linux系統的構建過程,目的是通過成功構建這個極簡版Linux系統來增強讀者完成第4-15章所述構建過程的信心。第4-15章介紹一個實際可用的Linux操作系統的完整構建過程,該過程正確無誤,讀者很容易復現。
本書適合作為高等學校操作系統原理課程的輔助教材或實驗指導書,也可作為希望自己設計與構建Linux操作系統的Linux愛好者的參考書。
前 言
近幾年美國對我國科技領域持續高強度的打壓使我們深刻認識到在ICT(Information and Communications Technology)領域缺乏核心技術導致我國處于被動地位,給我國相關企業帶來了巨大經濟損失。操作系統是ICT領域的一個關鍵組成部分,因此,從戰略角度看,不受某國某公司控制的免費自由開源的操作系統正是我國所需,將會使我國從經濟、安全、技術等方面受益。Linux操作系統恰恰是一種好的選擇,能夠使我國盡快擺脫在操作系統上受制于人的局面。然而目前我國開發Linux發行版的文化氛圍不濃厚、土壤不肥沃,原因是缺少一本合適的教材帶領大家步入構建Linux發行版的世界。
目前市場上已經出版了很多Linux操作系統的相關教材,而介紹構建整個Linux操作系統的教材卻很少,雖然網絡上有LFS(Linux From Scratch)和BLFS(Beyond Linux From Scratch)的官方網站和幫助文檔,但是對于絕大多數讀者來說,完全按照LFS和BLFS的指導也很難成功構建可用的Linux操作系統,并且這些資料不是傳統意義上的教材。為了帶領和幫助讀者逐步掌握Linux發行版的構建流程,最終構建出能夠正常使用的Linux發行版,也為了使我國盡快擺脫在操作系統上受制于人的局面,培育濃厚的開發Linux發行版的文化氛圍和土壤,本書作者編寫了該教材,希望能夠帶領大家步入構建Linux發行版的世界。
LFS項目是一個開源的自定義Linux系統構建項目,它旨在幫助讀者從源代碼開始構建自己的Linux發行版,并且可以根據需要進行定制化,以滿足各種不同的需求,讓讀者深入學習Linux系統的底層工作原理。BLFS在LFS的基礎上涵蓋了多個主題,例如桌面環境、網絡服務器、數據庫、圖形庫、多媒體應用程序等。
本書構建的Linux發行版稱為SLFS(Self-define Linux From Scratch),主要參考了LFS和BLFS(因此本書所有代碼和腳本均開源,隨本書配套資源提供)。SLFS表示親自構建Linux操作系統,其含義是讀者通過本教材的學習可以成功設計與構建符合自己預設用途的一款Linux發行版。讀者可以完全掌控這款Linux系統,實現個性化需求。通過本書的學習,讀者將對整個Linux操作系統具有全面且細微的理解和把握。在構建SLFS過程中要求讀者進行大量的手動操作,但這有助于讀者深入了解Linux系統的構建過程和底層工作原理,從而更好地掌握操作系統的一些特性和優化技巧,讓讀者逐步了解Linux系統的各個方面。讀者也可以從源代碼層面解決使用Linux過程中遇到的問題。讀者所研究領域涉及到的軟件,這里很可能有對應的源代碼,因此便于讀者將理論研究成果快速地在具體Linux系統中驗證和應用。本書要求讀者已經掌握基本的Linux命令行工具,并熟悉Linux文件系統。
在構建SLFS過程中,讀者需要手動解壓縮、編譯和安裝各種軟件包,還需要設置環境變量、構建基本的文件系統結構、構建Linux內核、創建并掛載文件系統、安裝基本的Linux工具和庫等。這將使讀者接觸到Linux系統的許多方面,例如編譯鏈、啟動腳本、進程管理、文件系統、網絡配置等。通過這種方式,讀者可以更深入地理解Linux系統的運行機制,掌握更高級別的系統管理技能。
希望本書能夠起到拋磚引玉的作用,在成功設計與構建SLFS系統的基礎上,讀者以后能夠隨心所欲的設計與構建Linux操作系統。本書第4-15章中軟件包的安裝順序體現了他們之間的一種依賴關系。讀者以后可以調整軟件包的構建順序,并且可以嘗試使用新版本的軟件包以達到升級Linux系統的目的,此時,可能會出現各種各樣的問題,解決這些問題對讀者要求較高,但是,唯有如此,讀者才能真正提高自己的技術水平。
《Linux操作系統設計與構建》三級目錄
第1章 Linux操作系統的設計 1 1.1 Linux簡介 1 1.2 Linux內核版本 2 1.3 Linux發行版本 3 1.4 Linux發行版的設計 7 第2章 構建Linux操作系統的技術基礎 1 2.1 本書實驗環境 1 2.2 Shell編程基礎 2 2.2.1 Shell變量 2 2.2.2 控制Shell提示符 4 2.2.3 測試命令 4 2.2.4 算術運算和邏輯運算 5 2.2.5 內部命令 5 2.2.6 復合結構 7 2.2.7 條件分支和循環結構 7 2.3 GNU工具鏈和LLVM工具鏈 8 2.4 計算機的啟動過程 10 2.4.1 啟動過程—BIOS+MBR 10 2.4.2 啟動過程—UEFI+GPT 14 第3章 構建極簡版Linux發行版 1 3.1 創建磁盤映像文件 1 3.2 對磁盤分區 1 3.3 關聯磁盤分區 2 3.4 格式化分區和掛載分區 2 3.5 安裝grub 3 3.6 下載、配置、編譯Linux內核 4 3.7 制作initrd 6 3.8 編寫grub.cfg 7 3.9 VirtualBox中運行Linux 8 第4章 構建SLFS交叉工具鏈和臨時工具 1 4.1 LFS、BLFS和SLFS 1 4.2 準備工作 2 4.3 編譯交叉工具鏈 4 4.3.1 交叉工具鏈 4 4.3.2 切換到slfs用戶 5 4.3.3 配置環境 5 4.3.4 構建工具鏈 6 4.4 交叉編譯臨時工具 10 4.4.1 交叉編譯臨時工具 10 4.4.2 切換回root用戶 13 4.5 進入Chroot并構建其他臨時工具 14 第5章 構建SLFS發行版 1 5.1 安裝基本系統軟件 1 5.2 系統配置 15 5.3 構建內核、引導系統 18 5.3.1 創建/etc/fstab文件 18 5.3.2 安裝dracut 18 5.3.3 構建Linux內核 19 5.3.4 安裝并且配置GRUB 20 5.3.5 創建一些文件 21 5.3.6 退出Chroot環境 22 5.3.7 創建虛擬機 23 5.4 再次進入Chroot環境 24 第6章 登錄相關配置和部分基本軟件 1 6.1 Systemd單元 1 6.2 安全I 1 6.3 GLib-2.74.5 11 6.4 安全II 15 6.5 文件系統和磁盤管理 16 6.6 Shells 19 6.7 Linux中的構建系統 20 第7章 通用庫 1 7.1 通用庫 1 7.2 圖形和字體庫 17 第8章 工具 1 8.1 通用工具 1 8.2 系統工具 5 8.3 編程工具 14 第9章 網絡和服務器 1 9.1 網絡程序 1 9.2 網絡工具 5 9.3 網絡庫 6 9.4 文本Web瀏覽器 11 9.5 郵件/新聞客戶端 12 9.6 主要服務器 13 9.7 郵件服務器 14 9.8 數據庫 16 9.9 其他服務器 17 第10章 圖形組件 1 10.1 圖形環境 1 10.1.1 圖形環境 1 10.1.2 X11和Wayland 2 10.1.3 設置環境變量 2 10.1.4 Xorg相關軟件包 3 10.1.5 Xorg輸入設備驅動程序 10 10.1.6 Xorg顯卡驅動程序 12 10.1.7 視頻硬件加速 14 10.1.8 老版Xorg 16 10.1.9 其他Xorg相關軟件包 16 10.2 圖形環境庫 17 第11章 GNOME 1 11.1 GNOME庫 1 11.2 GNOME桌面組件 6 11.3 GNOME應用程序 13 第12章 Xfce 1 12.1 Xfce桌面 1 12.2 Xfce應用程序 5 12.3 顯示管理器 7 12.4 窗口管理器 7 12.5 圖標 8 12.6 虛擬化 9 第13章 圖形界面軟件 1 13.1 KDE框架 1 13.2 辦公軟件 3 13.3 圖形Web瀏覽器 3 13.4 其他圖形界面軟件 7 13.5 編輯器 10 第14章 多媒體 1 14.1 多媒體庫和驅動程序 1 14.2 音頻工具 7 14.3 視頻工具 8 14.4 CD/DVD刻錄工具 10 第15章 打印、掃描和排版 1 15.1 排版 1 15.2 PostScript 3 15.3 打印 4 15.4 掃描 5 15.5 標準通用標記語言 6 15.6 Java 6 15.7 最后的配置 8 15.8 重啟SLFS虛擬機 10

浙公網安備 33010602011771號