接觸Linux大大話話都有廿幾年,從最初唔知買乜鬼雜誌送CD,自已裝來裝去到搞唔掂個graphics driver,到後來Linux一統江湖,日日返工都在Linux上寫code,到最近因工作需要自己compile Linux,才發覺我從來沒有認真學習過Linux。日常使用Linux跑程式,砌機灌OS裝Linux那些手板眼見功夫,遇到難題上網Google答案輕易過關,基礎打不好,現在書到用時方恨少,要有系統地重新認識Linux。
這本《How Linux Works》雖然美其名是入門書藉,不過除了第一章的Linux簡介,第二章日常使用的commands外,第三章打後難度三級跳,從Filesystems,到Kernel Bootup,systemd執行先後次序,每一個題目都超過一般用家要知道的知識,可以說是Linux admin的指南索引。這本書不太厚只有不到四百頁,所以每個題目都不會講得太深入,反而是系統化地把Linux的內容例出來,讀者大約知道有什麼題目,然後自己再找上網找資料。
這本書的內容,大慨有八成我以前看過,所以看過本書非常快,很多章節只是粗略翻看。剩下來的兩成新知識非常有用,補完我對Linux認知的缺漏,有些很簡單的基礎慨念,一般網上速食解答沒有講解,例如/usr其實同user無關,新process如何fork出來,shell script可以開subshell,X系統server同client的分功等等。很多東西我懂得用但不求甚解,現在學好了基本知識,開始看通Linux的設計邏輯,很多疑問便一理通百理明。
不過看完這本書,雖然對Linux的認識是完整了,對於compile Linux的幫助不大,頂多在我執package時至少知道放了什麼入去個build度,但解決不了kernel開不到機的燃眉之急,還要繼續找其他書看。