★引子
近期接到若干讀者反饋,希望能夠普及一下 Linux,包括某些專門為安全而優化的發行版(比如 TAILS)。所以俺考慮從幾個不同的方面,掃盲一下基於 Linux 內核的操作系統。考慮到很多讀者不是 IT 從業人員,俺盡量寫得"傻瓜化"一些,希望能讓技術菜鳥看明白。
今天這篇,先來說說:一個新手該如何一步步搞定它,從"菜鳥"進化為"老鳥"。(為了打字省力,以下把"基於 Linux 內核的操作系統" 簡稱為 "Linux")
★兩種思想上的誤區
按照俺的風格,先來說說兩種思想上的誤區(學習其它技術,通常也存在這兩個誤區)。
◇望而卻步
有些新手把 "掌握 Linux"看得過於復雜,看得高不可攀。這是非常沒有必要的。
如果是在上個世紀90年代,抱有這種想法或許還情有可原(畢竟那時候 Linux 內核剛問世沒幾年)。但是如今捏?Linux 都已經二十幾歲了。經過這麼些年的發展,已經變得很成熟,很傻瓜化了。在易用性方面,它跟 Windows 的差距已經很小了。
如果你還在懷疑 Linux 的易用性,不妨看看如今 Android 手機的市場份額——Android 就是基於 Linux 內核搭建的。
◇急於求成
和上面的"望而卻步"心態相反,有些新手帶有一種急於求成的心態——企圖一口吃成胖子。這也是不對滴。
為啥很多人有這種想法捏?主要是被"急功近利"的風氣影響,變得浮躁了。對於心態浮躁的同學,建議你看看 Peter Norvig 寫的好文《十年學會編程》(Peter Norvig 是 Google 研究總監)
★如何循序漸進?
介於上述兩種心態之間,俺的觀點是:循序漸進。下面來說說,在上手 Linux 的過程中,該如何循序漸進?
◇從"虛擬機"到"實體機"
去年俺專門寫了一個《掃盲操作系統虛擬機》的系列(已經寫完)。沒看過的同學,強烈建議你先去看看。看完這個系列,你自然就能體會到"操作系統虛擬機"的種種好處。
對於一個新手,一定要先從虛擬機裡面開始折騰,而
不要直接在實體機上折騰。
虛擬機的好處之1——不用擔心搞壞系統
虛擬機,顧名思義,是"虛擬的"。隨便你怎麼折騰(即使是格式化硬盤),都不會影響到你的實體機(Host OS)
虛擬機的好處之2——快照功能
在你摸索的階段,可以充分利用虛擬機的"快照功能"。
"快照功能"就如同"後悔藥"。比如你想修改某項系統設置,如果你對此沒有把握,可以先做好一個快照,然後再修改。萬一改壞了,直接回退到這個快照,系統就恢復原樣啦。
虛擬機的好處之3——降低裝硬件驅動的麻煩
常見的虛擬機軟件(比如 VirtualBox、VMware),在虛擬系統(Guest OS)中仿真出來的虛擬硬件,往往是比較常見的硬件。因為是比較常見的虛擬硬件,所以你在虛擬機中安裝 Linux,Linux 通常都能直接識別出那些虛擬硬件。這就避免了折騰硬件驅動的麻煩。
以上就是關於 "Linux裝在虛擬系統" 的種種好處。只有當你已經脫離了"菜鳥"階段,再考慮把你的實體機換成 Linux。
◇從"業余環境"到"工作環境"
有一句至理名言叫:"
從實踐中學習"。
當你已經學會如何裝 Linux,學會了一些基本的操作,之後就要在實際環境中使用它(也就是"實踐")。那麼先從哪種環境開始實踐比較好捏?俺建議先從自己的業余環境中開始實踐。
不要首先在工作環境中嘗試。
因為當你的水平還不夠的情況下,如果首先在工作環境中嘗試,萬一出了啥差錯,會影響到你的工作。而如果在業余的環境中嘗試,出了差錯風險較小。
比方說,你可以專門開一個虛擬系統(Guest OS),裝好 Linux,在業余時間用來上網。
◇從"圖形界面"到"命令行界面"
作為一個新手,剛開始會被各種各樣的 Linux 命令搞得眼花缭亂。為了降低學習曲線的陡峭程度,你可以先從圖形界面入手。先通過圖形界面,了解 Linux 的各種功能。等到你慢慢熟悉了,再逐步學習命令行界面的使用。
順便再羅嗦一下:
命令行界面是 Linux 的精髓之一。善於使用命令行,可以大大提升你的效率。所以,一開始你可以完全依賴"圖形界面";但如果要想提升,必須讓自己逐步適應"命令行界面"。
◇從"傻瓜化"到"DIY"
有些"傻瓜化"的發行版,它會把各種各樣你可能需要的軟件都事先內置了。一旦裝好系統之後,(你只需使用它的默認設置)就可以完成日常操作了。顯然,這類發行版更容易讓菜鳥上手。
但是,如果你想在 Linux 領域有所深入,想要充分發揮其特長,不應該僅僅停留在"傻瓜化"的層面;相反,你要通過逐漸的摸索,不斷地折騰,搞定各種"DIY"。在折騰的過程中,你自然會學到很多東西。
另外,俺在《磨刀不誤砍柴功——聊聊個人IT基礎設施的完善》也說了,Linux 相比 Windows 的特色之一就是:高度的可定制化。所以,你可以利用 Linux 的這個特色,定制非常個性化的系統環境,以提高你使用操作系統的效率。
★如何選擇發行版?
Linux 有千奇百怪的發行版(洋文叫 distribution),有幾百種之多。不同的發行版有各自的特色。你可以根據自己的情況,選擇一款適合自己的發行版。
很多初學者經常困擾於如何選擇發行版。在這裡,俺先給出第一個建議:一定要選"
成熟的"發行版。對初學者而言,選擇成熟的發行版,有助於你少走彎路,避免浪費時間。
判斷某個發行版是否"成熟",可以看如下幾方面:
◇文檔是否足夠完善
這點對於初學者尤其重要。如果某個發行版缺乏完善的文檔,對初學者是巨大的障礙。
◇用戶數是否足夠多
如果你使用的發行版,用戶過於稀少。萬一你碰到問題,就比較難在網上找到答案。
反之,如果你用的發行版,用戶數量較大。那麼你碰到的問題,通常別人已經碰到過 N 次了。網上已經有很多相關的討論了。那麼你就比較容易 Google 到答案。
◇解決Bug(發布補丁)的速度是否夠快
只要是軟件,難免會有Bug——Linux 系統當然也不例外。有 Bug 不可怕,可怕的是有了 Bug 卻遲遲得不到解決(沒補丁 或 補丁發布太慢)。
對於成熟的發行版,通常有足夠多足夠牛的維護人員,所以成熟發行版解決問題(發布補丁)的速度通常較快。而不成熟的發行版,維護人員不多,反應速度自然差得多。
上述這三個指標,第一個比較容易判斷。後面兩個指標,對某些菜鳥而言,比較難判斷。不過沒關系,有一個捷徑——你可以通過維基百科來判斷某個發行版的成熟度。某個發行版的詞條寫得越詳細,通常說明這個發行版越成熟。(提醒一下,可以同時參考中英文兩個語種的維基百科詞條)
考慮到篇幅,沒法在本文中詳細介紹各種類型的發行版。所以,俺另寫了一篇博文《掃盲 Linux:如何選擇發行版》,從多個角度介紹不同發行版的特色。
★從哪裡獲得文檔和資料?
◇維基百科
首先,要善於利用維基百科(尤其是英文維基百科)。通過維基百科,你不但可以找到某個發行版或某個軟件的概要介紹,還可以找到與之相關的一系列軟件。
舉個例子,如果你想找輕量級的發行版,只需訪問維基百科的這個頁面,就可以一目了然。
◇發行版的官網
剛才說了,成熟的發行版,必定有相對完善的文檔。所以,你可以去該發行版的官網,通常就能找到比較詳細的文檔。另外,有些成熟的發行版還會提供多語種的文檔。
說到文檔的語言,稍微跑題一下:
在折騰 Linux 的過程中,俺強烈建議大伙兒還是盡量看英文文檔。有如下好處:
1. 如果你英文的基礎不行,順便可以提升一下英文的閱讀能力
2. 英文文檔相比其它語種的文檔:更新更及時、內容更詳細、覆蓋面更廣。
◇相關軟件的官網
如果你使用的是"成熟的"的發行版,那麼該發行版內置的軟件,通常也是比較成熟的。這就意味著,這些軟件的官網,通常也會有比較完善的文檔。
所以,如果你使用某個軟件碰到困難,可以去該軟件的官網看相關的文檔。
◇相關的論壇
成熟的發行版或者成熟的軟件,通常都有專門的論壇/郵件列表。你可以去這些地方尋找你要的文檔。(提醒一下:要善於使用 Google 搜索的 site 語法)
◇其它
Linux Documentation Project(簡稱 LDP)上面匯總了許多 HowTo類 和 FAQ類 的文檔。
除了上述這些,俺也會抽空分享一些關於 Linux 的書籍到俺的網盤上。相比網上的文章/文檔,某些好的書籍可以有助於
系統化地學習相關知識。
★碰到問題如何解決?
在你摸索的過程中,勢必會碰到很多問題,這時候你需要學會利用互聯網
自己找答案。
如果你是 Linux 的新手,你碰到的問題,通常是低級問題(所謂的"低級問題"就是說,這個問題之前已經有 N 個人碰到過了,屬於比較普通常見的)。這種情況下,你通常可以利用搜索引擎,找到自己需要的解答