有趣的linux入門文章

來源:互聯網
上載者:User
你從來只用過Windows,從來沒接觸過UNIX,只知道把一個檔案拽
來拽去,只知道硬碟就是C: D: E:卻從來沒有研究過分區表,也許
會用VC編個程式,很習慣它的Integration Environment....

有一天,不管什麼原因了,也許是看報紙上那些把記憶體和硬碟都分不
清楚的記者的吹噓,或者是老闆要求你用它作個項目,或者是同學
們都有了你沒有覺得很土,或者你聽說找工作有這個的經驗就有更大
希望....不管怎樣,你想在自己的機器上安裝一個Linux。OK,這個
文章就是給你寫的,因為從現在開始,你會有成堆的問題你會覺得從前
在windows那裡得來的有關電腦的經驗好像完全用不上。你會覺得
“Linux怎麼這樣麻煩”。你會有種從來沒有開過汽車但是得
把汽車拆開修理一樣覺得無處下手。OK,這個文章就是為你寫的。

為什麼要學Linux。其實你不必學習Linux,如果你就是想使用電腦
讓它使你的工作,比如打字,排版,統計資料等更有效率,Linux不
行。Windows,或者我推薦windows 2000是你最好的選擇,它對中文
的支援很好,非常穩定,上面有無數應用程式,而且如果你自己承擔
風險,還可以使用盜版,免費。Linux將會給你造成很多麻煩,安裝時
會造成系統資料丟失,無法驅動網卡/音效卡/顯示卡/顯示器,無法配置
中文,圖形介面速度慢,等等。從前在windows上很容易做到的比如
修改顯示頻率或者安裝新的網卡驅動在Linux下都變得好像要你自己重
新上一次大一電腦原理課那麼討厭。呵呵,那Linux有什麼好處呢?
你會問。其實Linux沒什麼好處,從使用角度,它唯一的好處是它是
我們自己的,而windows再好,是Microsoft的。“又能怎麼樣?”
你也許又問。區別是,Linux可以讓你來研究它,通過使用Linux你可以
獲得更深一步對電腦的瞭解 -- 而不只是一個全自動的盒子。電腦
是一個很神奇的東西,你也許對那些寫出windows的程式員很崇拜(我
是的),或者對那些能發明更好的演算法更安全的作業系統的hacker(對不
起,遠程攻擊系統的不是hacker)很崇拜,那麼你應當知道,坐在一個
windows的機器前面整天就會用滑鼠拖拽也許能給你一個很好的打字員
的薪水,但是永遠無法讓你進入真正電腦的世界 -- 成為一個自由
思想的Hacker,或者說,你只能永遠是個windows的使用者 -- 也沒什麼
不好,很多領導還不會電腦呢 -- 而不可能有機會自己寫一個windows。
一個不太妙的結果是,當世界上充滿了windows的奴隸時,我們就得花
更大的價錢從Microsoft那裡獲得這樣的技術,某些社會裡,我們管這個
叫做剝削。

講這麼多,無非是說,蘿蔔不能兩頭切,至少現在是這樣。要想什麼
別人都給你做好,系統安裝一路斷行符號,硬體設定點兩下滑鼠,對不起,
請用windows 2000。如果你準備好了這一切,那麼接著看吧。
--

OK,你的第一個問題是:什麼是Linux,它和UNIX有什麼區別?
問這個問題的原因呢,多半是你還在大一的時候一次去實驗室,看到
高年紀學生在一個特大螢幕的機器上作題,你羨慕的看著他,問:
“這是什麼電腦啊,這麼進階?”而他不無驕傲的說,“這是
UNIX”。後來你懂的多了,知道那是SUN工作站,上面運行著Solaris,
就是UNIX。現在你又聽說Linux也是UNIX,是怎麼回事呢?

short answer:去看書,街上很多Linux的書第一章就是講他們的曆史
和親屬關係的。

long answer: UNIX是一個20還是30年前由幾個研究生在實驗室裡開始
後來一個大公司把它商業化了的一個作業系統。一來二去,它成長
並且佔領了市場。當時它只是運行在只有大學才買得起一兩台的昂貴
機器上。後來機器多了,公司多了,懂得人也多了,就分家了,而
“UNIX”這個名字由於法律關係,誰也不能說自己的作業系統是“UNIX”
而只能說是“UNIX相容”系統了。所以現在“UNIX”系統是不存在的,
存在的只是一個遙遠的傳說。那麼現在那些Solaris,AIX,IRIS都是什麼呢?
那些都是各公司在他們硬體平提上作的商業UNIX,這些系統都遵循一個
叫POSIX的古怪標準,對了,這個標準呢,是後來UNIX太多太亂,大家編程
介面甚至命令都不一樣了所以沒辦法座下來商量的一個協議。

那麼Linux是什麼呢?Linux是基於PC(其它平台也有的支援)的UNIX相容
系統,在跟UNIX的關係上,它不比任何其它UNIX相容系統遠。所以如果
你有“Solaris才是正統UNIX,Linux只是相容”的想法,對不起你錯了,
起碼你得把支援AIX的人打敗才行,他們還認為AIX才是正統UNIX呢。
所以用Linux你可以學到有關UNIX的知識,這些知識絕大部分在其它商業
UNIX上可以用得上。當然,其核心思想絕對是相同的。那麼在三年前只有
你的讀博士的輔導員才有機會在實驗室那台寶貝SUN上學的知識,你現在在
PC機上就可以實踐了,這難道不是很妙的一件事情嗎?

第二個問題:我想裝一個Linux,最新的是哪個版本,我聽說過xxxlinux,yyylinux,
還有國內某個公司鼎力推出的zzzlinux,到底哪個更好呢?

首先你需要明白,Linux不是windows,它不是一個由一家商業公司維護的軟體,
只有一個封裝。Linux是可以任意封裝自由配置的東西。任何一個人,一家公司
都可以按照自己的想法,比如加一點功能,加中文支援,作一個Linux出來。這些
Linux雖然核心部分都一樣,但是他們所帶的各種軟體,預設的配置都不一樣。區別
是用一種Linux 發布 (不同的Linux我們叫做不同的發布)也許硬體很好配置,
各種軟體也好安裝,用另外一種也許速度快,再一種也許支援中文比較好。總之
沒有白吃的午餐,在windows下想當然的東西在linux下也許需要你熬夜才能得到。
所以從一開始選擇distribution就必須非常小心,否則因為自己剛好隨某個雜誌
得到一個Linux發布就以為所有的都一樣就開始安裝,等硬碟資料毀了,
或者網路哭天蹌地也配不出來的時候,就晚了。不是開玩笑,我知道windows下
安裝驅動程式就是滑鼠點幾下,可是在Linux下,為了驅動一個網卡,折騰一夜
是不希奇的 -- 當然,我覺得這是值得的。

所以,面對那麼多Linux distribution,你應當選擇哪個呢?

比較著名的Linux distribution有:
RedHat:最新版本6.2, 7.0beta。由於RedHat公司已經上市,獲得了很多
商業的支援,所以它在硬體軟體相容性上很好。實際上它已經是Linux的
工業標準。想象一下如果你是一個比如Oracle這樣廠商的老闆,你需要為
Linux開發一個版本,而不同的Linux dist需要單獨開發維護,為成本考慮你
自然會只認準一個Linux。

Slackware(7.1)。很早就有的Linux,有很多老的忠實使用者,但現在越來越不行了。

SuSe Linux,德國人做的,在歐洲很流行,有一些驅動上的優勢。

另外還有Debian,CorelLinux等dist,不一一介紹了。

還有你會看到國內媒體上吹捧的各種“中文Linux”,他們的優勢主要是有
中文處理。但是如前一篇文章提到的,想用中文,用windows 2000最好。實際上
我覺得一個老7字班的前輩跟我說的一句話很好:“(對我們來說)在電腦上看到
中文本身就是一件很古怪的事情”。如果你是抱著學習電腦的目的而來,那麼
你不可能避免閱讀英文文檔。即使是microsoft的文檔,有關編程的文檔,最新的也
全是英文。當然,要上BBS,看中文網頁等,用英文的dist一樣能做到。

作為我個人(個人觀點,你不必相信我),我只用RedHat,因為我需要它作為一個
作業系統能讓我更快的掌握並且學習我想學習的知識,而不是跟愚蠢的網卡,音效卡
作鬥爭。儘管這些鬥爭對於學習Linux來說也是很有益的,但是對於一個新手來說,
如果連繫統都安裝不上,無法配置,又怎麼談如何學習呢?Again,this is only
my own opnion, and I could be wrong。

在這個系列裡,我會圍繞RedHat 6.2來講。

OK,從哪裡得到Linux呢?為了討論方便,省去不表要的枝節問題,
我只討論光碟片安裝。所以第一步是得到一張RedHat 6.2的光碟片。

得到光碟片有兩種方式,一種是去買光碟片,這個比較簡單,外面盜版盤
就有,不過需要指出的是,RedHat 6.2的光碟片不可能是盜版盤,因為
RedHat 6.2遵循GPL協議,它是不收取著作權費用的。所以任何人拷貝
安裝光碟片都是合法的。所以不必為買到一張“RedHat 6.2的盜版盤”而
沾沾自喜或有了偷盜成功的喜悅....只是需要注意,賣盜版盤的為了
騙錢什麼都能做,有的把RH 6.0的盤刷個封面愣告訴你這是6.5最新的,
可別輕易信。記得當年(6年以前)kill殺毒軟體流行的時候版本升級快
就有了各種假版本,我個人就親自作了kill 500.2來騙人玩,誰讓他
愣說他那個kill 79.8是真的呢?

另一種方法是獲得ISO檔案,這個是一半新手必問的問題。你多半是有
了網路,懶得或者無法買到光碟片。你從某個FTP下載了RH62_INSTALL.ISO
這樣一個600多M的檔案。你琢磨著這就是個跟光碟片有關的檔案,但是你不
知道怎麼解開它。怎麼辦呢?

ISO呢,就是光碟片鏡像檔案。假設你要把一個光碟片的內容*完全*的傳給
別人,你怎麼做呢?當然最簡單就是光碟片拷貝,如果要通過網路,可以
把光碟片上的檔案都傳過去。如果這個光碟片只是一些檔案倒簡單了,可是如果
這個光碟片有比如可以光碟片啟動這樣的功能,傳檔案恐怕就不行了吧。更不用
說在網路上,傳總量為600M的上千個小檔案的可怕了。

所以呢,有人就發明了ISO,就是可以把一個光碟片忠實的“照張相片”,寫到一個
ISO檔案裡。再用同樣的軟體可以把所有的資訊再寫回光碟片,得到一個一摸一樣
的盤,包括所有的比如能光碟片啟動的能力。

那你已經有了這個ISO了,怎麼獲得光碟片呢?簡單,找任何一個能刻光碟片的機器,
它上面一定有類似EZCDPRO的刻盤軟體。每個這樣的軟體都應當有把光碟片寫
成ISO檔案和把ISO檔案寫成光碟片的功能。你需要在它的菜單裡仔細找,或者找
人幫你找,如何把CD IMAGE FILE刻成CD的功能,然後開始刻,就得到一張跟
RedHat 發行版一個位元組都不差的光碟片了....

一點小問題:那些down ISO的地方往往有md5.checksum或者RedHat62.md5這樣的
檔案,並不大,幾十個位元組,你不知道它們是幹什麼的,是不是也得都download
不然無法刻CD。實際上你不必管他們,那些是資料完整性校正的檔案,好像挂號信
的跟蹤單據一樣。只要信能到,是否有他們無關緊要。

另外還有ftp方式安裝,用winimage展開ISO本地檔案安裝等方式,我不去討論他們。

好,現在你有一個RH 6.2的CD了,因為是ISO刻的,所以它應當能做光碟片啟動。那麼,
把它放入光碟機,然後調BIOS設定光碟片啟動,啟動機器。我們可以開始安裝RH Linux了。

下來你的首要問題是“我的機器有16G,分了一個C盤4G,兩個D,E盤各6G”我還想保留
C盤的windows,我能把Linux安裝到D盤或者E盤上嗎?呵呵,非常好,你知道Linux是
一個作業系統,可能要把windows弄掉,但是遺憾的是你對硬碟,分區的理解是錯誤的。
下篇文章會講硬碟分區的問題。

OK,要講硬碟分區了。在講這個問題之前,我先來講講概念問題,什麼是概念
問題呢?你還記得第一次,絕對的第一次聽到A:盤,B:盤,C盤時候的感覺嗎?
在那之前自己也許知道電腦有個儲存資料的地方,因為在電視上或者廣告上
看到過磁帶機(我一直不知道為什麼到了很久很久那種一個傻姑娘在一個磁帶
櫃前面操作一個現在看來是垃圾的磁帶裝置會不停的成為電視台播放電腦題材
節目的預設背景)或者硬碟的圖象。但是你並沒有一個概念電腦究竟怎麼使
用這些裝置,直到你第一次打出dir a:或者開啟explorer看到A: C:字樣的目錄
樹。如果你還記得當時的感覺,恭喜你,這種感覺又回來了。

對於一般人,只需要知道電腦能做什麼就行了,所以對於他們來說,什麼東
西越簡單越好,越不需要他們去花時間學習理解越好,所以電腦從開始的打
孔到了後來的鍵盤螢幕,現在又往語音輸入智能互動方向發展。這很好,讓那
些把電腦當工具的人能更專註他們的工作(當然,他們會為此向我們--計算
機的建設者付出應有的報酬)。可以說,MS在這方面作的很好,沒有人會否認
windows是一個非常“好用”的作業系統。這是指從使用者而言,你不需要太多
的去理解機箱裡面的知識,或者說儘可能不去理解,就能儘快讓電腦為你工
作。比如將本來很複雜的硬碟通過它在中間的操作搞成了C: D: E:盤這樣的東
西,讓一個只需要會打字的秘書MM也能知道怎麼隱藏檔(當然也會有笨的不
可救藥的)。但是這樣(MS替你打點一切)的做法的一個問題也是顯而易見
的:你沒有機會,或者說沒有被迫的機會去瞭解更深一層的知識。而且當你腦
子裡只知道”C: D: E:“的時候,你就只有跟著windows走這一條路了。

OK,言歸正傳。安裝Linux的硬碟分區問題。這個問題說起來是每個Linux新
手,甚至到有一定水平的人都不敢說很清楚或者掌握的(包括我自己)。硬碟
是個很古怪的東西,它的基本脾氣是,一點搞不好,一大塊資料就要丟,而且
丟的乾乾淨淨。我已經不止一次看到某人的畢業論文之類東西在答辯之前三天
因為硬碟問題而丟失並且沒有備份!而安裝Linux是必須跟硬碟很底層的部分打
交道的,而不是win下面安裝個程式那麼安全。所以我的第一個建議是,如果硬
盤上有重要資料,最好別貿然安裝Linux。比較好的一個辦法是找台不重要的機
器,硬碟可以重新分區格式化的,多安裝幾次Linux,多實驗一下windows和
linux共同存在的各種情況。這樣以後心裡就有底了。如果實在要安裝,一定要
備份重要資料,切記。

下來講Linux對於硬碟的概念。只考慮IDE硬碟。對於一個硬碟的操作分很多
層。我們需要知道的,是硬碟是由很多個512位元組的扇區組成的。而這些扇區會
被組織成一個一個“分區”。這些對於每個作業系統都是一樣的,在這之上每
個作業系統自己去管理分給自己的分區。對於windows來說,它會把這些分區格
式化然後按照CDE盤來管理。而Linux則不同。所以呢,一個硬碟上分多個分
區,安裝多個作業系統比如windows,Linux,Solaris等是完全可以的。但是由於
每個作業系統對分區的操作不同,只能說把作業系統安裝到分區中而不存在把
作業系統安裝到CDE盤中(UMSDOS方式先不提)。

每個硬碟的第0個扇區是個特殊扇區,它不屬於任何分區。它存放的是兩個東
西:第一是一個很小的程式,它由電腦在啟動的時候運行,這個程式一般是
某個作業系統帶的啟動程式,它運行後會啟動某個作業系統或者給使用者選擇來
啟動某個作業系統。Windows的0扇區啟動程式很簡單,它就是把windows啟動
了,所以在這之前你是不會有多作業系統在一個硬碟上共存的概念的。而Linux
所帶的啟動程式可以讓你選擇啟動哪個作業系統,它叫做lilo。這個東西我們
以後會經常碰到它。0扇區還存放有另外一個重要資料:分區資訊。前面講過,
硬碟是有分區的,那麼到底怎麼分的,這個資訊是存在0扇區的。硬碟的分區規
則是這樣的:一個分區的所有扇區必須連續,硬碟可以有最多四個分區,這四
個分區可以是四個主要磁碟分割或者三個主要磁碟分割加一個擴充分區。在擴充分區裡可以
再繼續分邏輯分區。舉一個例子,一個10G的硬碟,安裝windows,有C: D: E:
三個盤。那麼它的分區情況可以是這樣的:

分區一:主要磁碟分割 4G ,格式化為C:盤
分區二:擴充分區    4G  擴充分區不能格式化,它只能被再分區為邏輯分區
剩餘空間(可以被分區三,四佔用) 2G

在擴充分區中,建立兩個邏輯分區各為2G,格式化為D:E:盤。

那麼在Linux看來又是怎麼樣呢?注意我提到過,對於任何作業系統而言,分區
都是一樣的,儘管Linux不認同C D E盤,但是這些分區都是相同的。所以Linux
下看也是分區一,分區二等東西。但是它對這些分區的標誌和解釋是不同的。

在Linux下,硬碟是一個裝置,實際上Linux下什麼都是裝置。對於IDE硬碟而
言,Linux認為存在四個裝置,對應於IDE的四個位置接的裝置。如果裝過機器
我們知道主板上有兩個槽,IDE0和IDE1,每個槽上能掛兩個裝置,主盤和從
盤,這些盤可以是硬碟可以是光碟機。那麼Linux是怎麼認為這些裝置的呢?在
Linux下,這些裝置用/dev/hdx來標示。IDE0上的主盤就是/dev/hda,從盤就是
hdb,依此類推,如果可以有多個IDE槽就可以延續到hde hdf等。總之每條硬碟
線上接的裝置都被Linux認為是一個/dev/hdx裝置。如果你的機器是IDE0槽上的
主盤是硬碟,那它就是hda,如果IDE1的槽上主盤是一個光碟機,那它就是hdc。
在windows下fdisk是對”硬碟1“,”硬碟2“進行操作,而linux下的fdisk就
是對/dev/hda,/dev/hdb等進行操作。這樣做很靈活,很直觀,不是嗎?

那麼Linux下怎麼看分區呢?Linux下的分區概念是,硬碟上的每個分區也是一
個裝置(又來了)。他們的標誌是/dev/hdxy,其中hdx根前面一樣表示哪個硬
盤,y表示第幾個分區。以hda為例。hda1就是第一個分區,hda4就是第四個分
區位置。邏輯分區從hda5開始。所以剛才那個例子中,Linux看來就是hda有
10G。hda1是主要磁碟分割,格式是windows。hda2是擴充分區,在它上划出了hda5和
hda6,格式是windows。hda還有2G剩餘空間可以繼續建立hda3和hda4。注意因
為hda2空間已經被劃分完,所以無法再建立邏輯分區。

這些硬碟的東西很容易搞混,建議多實踐,多總結一下。可以參照一些有關書
籍,早期的DOS書在安裝部分講了一些。現在的linux安裝部分也都有不少。另
外還有網上的一些介紹資料。

明白了Linux對分區的處理。下來就是分區策略了。在用RH6.2的光碟片啟動,一
直斷行符號選擇預設設定會到一個分區介面。這裡你需要告訴linux安裝程式在硬碟
的什麼地方安裝linux。你需要告訴它一些資訊,其中包括,建立一個新的
Linux分區,多大,mount到哪裡。這裡需要介紹一下mount的概念。

我們知道硬碟是可以分成很多分區的,每個分區由各個作業系統格式化然後就
可以使用了。但是要使用必須有一種方法。windows,或者DOS的做法是將格式
化好的分區掛(或者說mount)成C: D: E:盤。盤符的分配是作業系統決定的
(到NT後可以使用者指定)。在Linux下某個分區怎麼使用必須使用者自己指定。在
Linux下分區並不按照C: D: E分配,而是掛(mount)到一個目錄下。整個UNIX
的儲存空間結構是一個分類樹(而不是每個C: D: E:下各有自己的分類樹)。
最上一層是根目錄(用/表示,注意不是windows的反斜線)在根低下有其它目
錄。首先需要有一個分區mount成/,然後再在根下面建立其它目錄然後把分區
mount到這些目錄上去。所以整體來看一個unix的儲存系統是一個分類樹,但是
它可以包括很多分區,甚至其它存放裝置,比如光碟機,記憶體盤,或者網路磁碟
等。

在Linux安裝的時候除了/還有幾個目錄是預先建立的,我們需要知道的
是/usr,/home還有/root。先不管他們都做什麼,一般而言我們需要分一個空
間,指定它為Linux Native類型,然後mount point是這幾個目錄之一。另外還
需要注意的是Linux分區有兩種類型,native是可以隱藏檔建立目錄的那種,
還有一個linux swap,這個是linux的記憶體交換分區,在安裝RH的時候必須指定
一個。所以在安裝的時候最少需要分一個區,類型linux native,mount到/
上,然後一個分區類型linux swap,swap區不mount為任何目錄,系統對其進行
單獨處理。

下來是分區大小問題,安裝Linux一般而言1G空間為/就差不多了,初次安裝為
方便起見,可以建一個2G的分區mount point為/,然後一個swap。swap的大小
作的跟記憶體一樣大就是了,最大128M。以後再安裝的時候可以根據自己對硬碟
的要求建立其它分區來mount比如/home。

對於已經安裝了Windows的機器,可以在Linux安裝程式裡刪除一個windows的分
區,一般而言是一個邏輯分區(你不會想刪除C:盤吧),然後在它的空間裡建
立Linux的分區。

Linux的/可以是主要磁碟分割可以是邏輯分區。但是需要注意的是8G的問題。我想你
也許聽說過8G,到底8G是什麼呢?具體問題比較複雜,簡單說就是不能把Linux
的/分區mount到一個硬碟8G以後的分區上。所以如果你的硬碟有16G,前6G已經
分給C:盤,后里面是兩個5G的D: E:盤,納悶你就得把D盤分區刪除建立Linux分
區而不是E盤,因為E盤已經在8G以後了。8G以後安裝Linux是沒有問題的,只是
無法啟動。當然這個是有解決辦法的,但是在新手的狀態我還是建議盡量按照
最簡單情況作,將來熟了再練習其它。

分了區之後繼續安裝,你還被要求配置一些其它東西。包括root密碼,Lilo,
配置網路,X等東西。其中Lilo是比較重要的一部分。你會被要求將lilo安裝到
MBR,分區開機磁區,或者一張磁碟片上。你需要選擇是是否安裝到MBR或者
floppy上。一般而言安裝到MBR上即可,為了保險起見可以做到磁碟片上,這樣機
器用硬碟啟動還是windows那套,進入linux可以用磁碟片啟動。注意你需要把
BIOS中的Virus Warning關閉,否則無法安裝到MBR上。

如果你的機器配置比較標準,網卡,音效卡,顯示卡等都能自動檢測出來的話,
一路斷行符號,再啟動你就可以進入Linux了。如果運氣不好(大多數情況是)網卡
音效卡沒有在啟動的時候配好也無所謂,跟windows一樣將來可以再配置。總之這
些不會影響到你安裝。

OK,機器再啟動,跟以往不一樣的是沒有看到Starting MS Windows 98....而
是一個Lilo:的提示符。這說明Lilo已經正常安裝了。你現在按斷行符號就可以進入
Linux了。如果要進入Windows可以打DOS然後斷行符號。如果你指定了不同的
windows分區啟動標誌符,可以用[TAB]鍵看一下你有哪些選擇。

這是一個很經常被問到的問題,這裡說一下。出於某種原因你要刪除Linux,你
知道用DOS盤啟動然後fdisk刪除Linux分區或者重新安裝NT刪除Linux分區。但
是當你一切都安裝完了之後windows無法啟動,Lilo:這個符號總在那裡,機器
死了一樣。別重新分區格式化都沒用。然後某個半瓶子醋可能告訴你“沒救
了,低格吧”。記住,除非硬體損壞,硬碟任何時候不需要低格。這種情況是
由於其它安裝程式並不重寫0扇區,即MBR造成的lilo無法刪除。解決辦法很簡
單,請牢牢記住:用一張DOS盤啟動,運行DOS的fdisk /MBR。這個命令就是重
寫0扇區的引導程式為MS的標準程式,即可以啟動DOS,Windows,WindowsNT,
Windows 2000的那個,而不會改變硬碟分區任何其它資訊。所以它是絕對安全
的,絕對安全的,絕對安全的。當你碰到Lilo無法刪除的時候,記得fdisk
/MBR。

OK,你成功的啟動了Linux,進入了一個圖形或者字元介面要求登陸。下來你會
有成堆的問題要問。下來我會講怎麼去問問題以及怎麼尋找協助。

--
給Linux新手 [系列之四]

by YUHJ@SMTH BBS

”大夫,我痛,告訴我怎麼辦吧”
“別著急,你先說你哪裡怎麼痛了“

”噢,哪裡痛還不一樣治啊,我肚子痛,快告訴我怎麼辦吧,我很著急的“
”別著急,再說說你昨天都幹了些什麼啊?“

”怎麼跟昨天幹什麼還有關係?我昨天就幹了我每天作的事情嘛,我覺得很正常,你怎麼共桓嫠呶以趺窗歟坎幌腖稻捅鶿怠啊
”別著急,你再想想,昨天作了什麼跟平時不同的事情?“

”不同?好多都不同啊,我昨天上班沒搭上公車打的的,上午沒人給我打電話,比較古怪...“
”不是這些,我是問你有關吃飯啊,運動啊之類的“

”噢,這個啊,昨天晚上我吃了餃子,很好吃的喔“
”噢,吃了多少個餃子啊“

”嗯,80多個吧,噢,對了,晚上肚子就疼,一直到現在“
”噢,那你是吃撐了“

以上是我記憶中BOB老師寫過的文章。如果你覺得這是個笑話的話,那我幾乎
每天都會經曆這類笑話。一個人會先問“我的Linux怎麼xxx了,怎麼辦”,到
最後一步一步的誘導問題直至答案揭曉。你下來會遇到很多問題,你不知道去
哪裡找答案。你覺得網上都是高手,你覺得高手就是你一站到那裡他就知道你
有什麼問題。他無所不知,會告訴你一個”絕招“一下解決你的問題。所以你
什麼都不必多說,一句話的標題加一個”無內容“的內容。就等高手給你”絕
招“了。

可惜這樣的事情從來沒有發生過。

如前所述,Linux相對於你也許很熟練掌握的windows系統來說有很多全新的概
念。好像微積分對一個只知道簡單代數的人來說一樣。在這種情況下,你用你
固有體系下的思維來試圖獲得答案顯然是困難的。舉一個例子,Linux下的圖
形介面X配置一向是新手必問的問題。你安裝了Linux但是螢幕卻是300X200,
16色的,你想知道怎麼辦。從windows那裡得來的經驗,你想應該有個辦法找
到”顯示內容“這樣的菜單然後改變一下解析度色彩深度,甚至掃描頻率就可
以了。所以你的提問多半是“我的X只有300X200,我在哪裡可以改變它”,然
後你期望一個高手告訴你“在xxx地方滑鼠右鍵點一下,就得到顯示內容的菜
單啦”,然後你就可以象在windows裡面一樣修改螢幕解析度了。這裡有什麼
不對呢?不對的地方是,Linux下的X不是windows,它的顯示解析度根本不是
在圖形介面裡面調整,而是在進入X之前,更重要的是,能改變到更高解析度
的前提條件是顯示卡的驅動要配置好。而這個又跟Linux的發布,版本等有關
系。這麼多情況都不知道,高手絕對是沒有”絕招“告訴你的。對照前面那個
笑話,肚子統的原因很多,如果病人都能知道並且判斷出來,醫生還有什麼用

那麼當你有問題的時候,應當怎麼做呢?第一,最好別問問題。Linux的安裝
配置本身就是個學習的過程,通過自己摸索解決一個問題也許比別人告訴你要
慢很多,但是解決問題的本身有助於你加深對Linux概念的理解。同時為瞭解
決一個問題也許能帶出很多其它問題。我記得我當初初學Linux的時候在一台
破機器上把Linux和win98安裝了很多遍,最終明白了Linux分區DOS分區共存,
Lilo的配置的很多問題。當然一些關鍵地方自己摸索耗費時間太多而且沒有意
義,多交流也能達到大家共同提高的效果。關於如何去主動摸索尋找問題的答
案我後面會講,這裡就假定你需要到BBS上問一個你無法解決的問題。

你碰到了一個問題,Lilo不啟動,顯示010101或者LI死機,或者不知道為什麼
你的X螢幕只有300X200,或者不知道怎麼配置網卡,或者不知道為什麼書上講
的cd /usr/src/linux;make config返回錯誤資訊,或者編譯了一個測試程式
gcc -o test test.c 然後運行test什麼輸出都沒有。你手足無措。你想上網
問”大蝦“們來獲得答案。

問問題的第一點,是要明白,兩個字就能說明問題並且解決一個的事發生在在
一個大俠身上也許表現的很瀟洒,但是在你提問題的時候只能表現的很無知,
就好像那個說”我痛“的病人一樣。你必須詳細的描述一下幾個問題:你有什
麼,你做了什麼,你希望達到什麼效果,你發現什麼問題,具體的問題現象描
述。比如如果你網路不通,你就需要先說你的Linux什麼發布,什麼版本,你
怎麼安裝的,怎麼配置的網路,詳細到具體的命令,你的網路情況,區域網路廣
域網等。你也許會說很多廢話,但是要明白你是來問問題的,你不會知道究竟
問題出在哪裡,所以你必須把你能想到的跟問題有關的事情都說出來才可能包
含具體出問題的地方。在這裡你不是大俠,無關瀟洒不瀟洒的問題。我們的目
的是解決你的問題,並且通過解決問題獲得自身的提高,無它。

第二點,是不要自己做任何判斷。好像那個認為Linux也應當根windows一樣有
個地方點右鍵獲得“顯示內容”的問題一樣。你事先根據自己在其它系統上的
經驗來自己做了問題的限定並且將回答問題的可能限制在一個很小的範圍內。
這樣做既限制了你自己的思維,也影響到你正確描述問題。事實是你的錯誤多
半是概念錯誤,開始走的方向就錯了,與其這樣不如把自己明白的似是而非的
東西拋開,仔仔細細的把那幾個問題(你有什麼,你做了什麼....)寫清楚,
看別人會怎麼作判斷。

第三點,你是來提問題的,你覺得你應該受到協助。且慢,這裡已經不是教師
答疑了,你不再是一個有權力受到教育的大學生了。回答問題的人也不再是你
的老師或者助教了。他們對你沒有責任。大家無非是在一個地方相互交流共同
提高。如果有人回答你,絕對是在助人為樂協助你。而當你的問題沒有人回答
的時候,多半是你的描述不夠詳細,別人不是醫生,不必一個一個問題誘導下
去。所以當你的問題沒有回答的時候,先對照前面一點再修改問題的描述,這
也是個思考的過程。實在不行,就自力更生吧,接著看下面的文章。

Linux的一個重要作用,我覺得,就是培養人自己探索的能力。回想我們的學
習過程,從小學中學到大學。讓人自己去探索的環境實在太少。所有的問題都
有一個標準答案,要麼在老師那裡,要麼在參考書上。就連作文這樣無法量化
的東西也有個倒黴的“中心思想”。所謂“自學”也無非是猜測到底標準答案
是什麼。如果要做大一點的課程項目(Class Project)也會定義的非常詳細
,老師恨不得把所有你能自我創造的細節都堵上,這樣可以方便他評卷。這樣
環境下教育出來的人,到了Linux下就會經常感到無所適從 -- 的確,沒有老
師的標準答案了,你做的對不對只有自己知道。

所以學習Linux,很重要的一點是有自己搜尋知識,突破自己思想局限的能力
。遇到問題第一步不是想“誰有標準答案”然後去問人,而是先想”我怎麼能
解決他“,不行就自己去尋找解決辦法,再考慮這個解決辦法為什麼自己想不
出來,將來碰到類似問題應該往哪個方向去努力。最後再考慮自己是否能在這
個方向上作出改進。經曆過很多次這樣的事之後,人的創造力會有很大的提高
,而這個對於現在靠技術吃飯的人來說,就是10萬和2千的區別。

OK,你有一個問題,你不知道怎麼解決,你怎麼去尋找答案,怎麼提高自己呢
?在有一個問題的時候,你首先要想,你是個新手,在你之前已經有無數個新
手了,你不會是個多特殊的新手。唯一的不同是你的知識面跟別人不同,而不
是你的問題有多特殊。比如你有個D-LINK 220網卡無法配置你覺得很困惑。實
際情況是有很多人已經困惑過了,他們問過這個問題並且都得到了答案。所以
你的第一步應當是明白”這個問題已經有根我一樣的人問過並且在某個地方有
答案了“。

那麼,怎麼找答案呢?在BBS上,你可以進入Linux版,然後想”已經有答案了
,在哪裡呢“。首先你可以在從前的文章裡找,這個可以用搜尋標題的方法。
先想一下如果你要問這個問題要用什麼關鍵字作標題,然後搜尋這個關鍵字。
在BBS上搜尋是輸入?號然後輸入關鍵字再斷行符號。搜尋中用什麼關鍵字很講究,
比如你要找有關DLINK 530-TX卡的資訊,那麼你要想別人會怎麼問。肯定標題
裡有網卡型號,可是別人會怎麼寫呢?也許是530TX,也許是530 TX,也許是
530-TX。所以但是肯定都包括530,所以你可以搜尋530這個關鍵字,然後把搜
索到的文章都看一遍,基本上就有答案了。類似的可以搜尋的問題還有DE 尤
220,810(Intel 810主板內建顯卡驅動)等。

其實BBS只是一個很小的地方,真正最新最全的知識在網路上。幾乎所有的
Linux有關程式,常見問題都會有人整理出來放在網上。需要注意的是,一,
Linux不是microsoft,有專門公司維護文檔。Linux的文檔到處都有,品質不一,而且隨著Linux的不停升級會有各種版本。比如IPMASQ因為它隨Linux核心
升級版本更新很快,所以它的協助(faq)也頻繁升級。看了老的faq會讓你更
糊塗。所以找文檔不要看到一個就盲從,要確認它的確有用,也許你找到的是
箇舊版本呢?要知道一些講Linux的文章是5,6年前寫的,當時CDROM還是個稀
罕貨,你想從那裡獲得如何用CDROM安裝Linux的問題,卻發現上面都是講怎麼
用磁碟片安裝,這個就不好了。另外還有有些講核心編譯的文檔都是說make
config,而且裡面的選項也很舊,實際上現在核心編譯都用菜單方式的make
menuconfig了。所以文檔的新舊是個很需要注意的事。第二點是你無法逃避使
用英文,你必須強迫自己去理解英文文檔。的確有中文的文檔,但是那些的普
遍問題是缺乏維護,太舊了。

下來請你把這個網址寫在手背上:www.google.com。以後對Linux有了問題,
就去上面搜尋。google是我知道最好的搜尋引擎,尤其是在Linux知識方面。
幾乎是我想知道什麼就能搜出什麼,從網卡驅動到並行電腦的配置。我希望
你以後在問問題之前在這上面搜過。搜尋的主要技巧是選擇正確關鍵字,參考
前面講過的,搜尋530-TX的驅動最好輸入Linux 530 driver字樣。有關搜尋技
巧如果我有時間可以單獨寫一些東西。

另外一個地方是News Group,不過一般的news server是聯不上的,而且組也
不多。我們可以上www.deja.com去搜尋。這裡都是非常新的國際新聞群組的討論
,當你的問題已經新到最新的文檔裡也沒有的時候,可以上這裡搜尋。新手的
問題一般不需要。

當然不要忘了BBS的精華區,那裡往往有些意想不到的收穫,仍然需要注意的
問題是,一些中文的文檔,尤其是長文章,往往很舊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.