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