你是在學習LInux、photshop、……,不管是在學習什麼,一定要先理清,我們是為了什麼而學習,再去認認真真的朝著目標而前進。那樣你就不會在學習過程中感到迷惘。
1、要“玩 Linux”
很多人用 Linux 的時候會感覺很迷茫,該用哪個發行呢?是不是我少裝了什麼?怎麼升級這麼快啊!怎麼這麼不穩定!每當遇到新的軟件他就想試用,每當新的版本出現,他就更新,然後用鼠標在新的菜單裡選擇從來沒見過的程序來用用。
其實你是為了Linux而使用Linux,而沒有找到正確的理由來利用 Linux。你首先要明確用電腦的目的,你用它是為了解決你的實際問題,而不是為了學習安裝操作系統,不是為了測試哪個版本好用,不是為了“趕上潮流”,更不是因為你硬盤太大了,你想多占點空間。
如果你啟動了電腦之後不知道應該干什麼,那麼最好先不要用電腦,因為你可能有更重要的事情需要做。
2、不用挑剔發行版本
很多人剛開始用 Linux 的時候,總是在懷疑別的發行版本是否比自己正在用的這個好,總是懷疑自己以後時候會失去支持,不得不換用別的發行。所以很多人今天是 Redhat,明天又換成了 debian, 一會兒又是 gentoo, …… 甚至有的人在一台機器上裝了兩個版本的 Linux,然後比較哪一個好。
其實你完全沒有必要這樣做,任何發行,只要你熟悉了,你在上面的工作方式幾乎是不會受到任何影響的。你常常聽說 Debian 的更新比 Redhat 快,包比 Redhat 多,但是你可以比 Debian 更新還要快,直接到你需要的程序的主站點下載源碼來編譯就是了。
Debian, TurboLinux, SuSE, Redhat, Gentoo, ... 任何一個版本都是不錯的。
3、不要當“傳教士”
很多人在討論區不斷的引起 "Linux vs. Windows" 之類的討論,甚至爭的面紅耳赤,這是沒有必要的。因為各人的需要不同,生活的環境不同,你不可能得到一個定論。我們需要尊重別人的選擇,這是你在進行任何對工具的討論前需要提醒自己的事情。面對一些容易引起爭論的東西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome,FVWM 和 KDE;Mutt 和 Pine …… 一定要冷靜。
你需要關心的不是你的工具是什麼,而是你用它做了什麼。精通 Linux 並不說明任何問題,因為它只是一個工具而已。如果你用 Windows 能很好的完成你的任務,那你就沒有必要費時間去熟悉 Linux。直到有一天你發現一項任務只有 Linux 才能完成的時候再換也不遲,因為你身邊的 Linux 的愛好者一定會很樂意的幫助你。
並不是喜歡一種東西就必須反對其它的。世界需要多樣性,人們都需要FUN。用自己的興趣去壓制別人的,就會毀掉所有的興趣。個人喜歡什麼就用什麼,完全沒必要為這個爭論。
不要做“傳教士”!你說我現在就是在“傳教”?冤枉啊~
4、直接從源碼安裝程序
很多人放著最新的源碼不用,等著有人幫他做出 rpm, deb, 才能安裝。我說你為什麼不用源碼編譯,這樣版本比 rpm 高的多,有很多新功能,而沒有煩人的依賴關系。可是他說:“要是我用源碼編譯安裝,卸載的時候就不方便了,會留下很多垃圾。”
為什麼程序還沒有安裝你就想到卸載?難道你不知道這個程序是用來做什麼的?你應該改變到處找程序來試用的作法,而應該先了解一下到底那些程序有同樣的功能,聽聽別人的意見,看看它們各有什麼長處和短處,然後挑一個最適合你的程序來用。
從源碼編譯安裝程序,不但比你裝rpm更適合自己的機器設置,而且它們一般會裝到 /usr/local 目錄,這樣你以後如果換硬盤重裝系統,也可以把以前 /usr/local 下的程序原封不動拷貝過去用。我的 /usr/local 下有 2G 之多的程序,你想要是我有一台新機器要重新安裝,然後配置,得花費多少時間?實際上我曾經通過網絡把它們傳到一台新機器上,然後就出去吃晚飯,回來時我就得到了另一台一摸一樣的 Linux 機器。
確實要卸載 make install 的程序怎麼辦呢?答案是直接刪掉。別以為直接刪掉程序會留下垃圾,引起“系統不穩定”。(btw: 這是誰教你的啊?呵呵。) make install 無非就是把可執行程序放在 /usr/local/bin, 把某些函數庫放在 /usr/local/lib,把數據文件放在 /usr/local/share 下一個它自己的目錄,你把這些東西都刪掉就行了,不會留下垃圾,即使真的留下一點文件沒有刪掉也占不了多少空間,更不可能引起系統不穩定。UNIX 就是這麼簡單。
但是有幾個程序不建議從源碼安裝,它們是 Mozilla, Open Office, ... 它們編譯時會占用你幾個G的空間和好幾個小時的時間,這種花費我覺得是不值得的,因為你不能從編譯得到更多好處,不如直接安裝編譯好的版本。
5、不要盲目升級
不知道這是心理作用還是什麼,有的人看到比較大的版本號,就會很想換成那個。很多人的 Redhat 本來配置的很舒服了,可是一旦 Redhat 發行新的版本,他們就會盡快下載過來,然後選擇升級安裝。結果很多時候把自己原來修改得很好的配置文件給沖掉了。新的軟件又帶來了新的問題,比如有一次我的 rxvt 升級到 2.7.8 就跟 miniChinput 沖突了,升級到 Redhat 8.0,發現 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模塊在 I810 上有新的 bug,會導致 Mozilla 突然退出。
如果你已經配置好了一切,千萬別再整體升級了,這會浪費你很多很多時間的,不值得。如果需要的話,你可以只把某些部件升級,比如內核,glibc, gcc, XFree86,...
使用 UNIX 的經典程序
好的程序一般都是可以很方便的在很多種 UNIX 上移植的,bash, VIM, Emacs, Mutt, FVWM, xterm, 都是這樣。如果你用這些程序,你就可以在 Sun, HP, ... 等工作站上也裝上,這樣你在各種機型上的工作環境就幾乎完全一樣了!你不需要在 Sun 上面用 CDE,在PC上又換成 KDE,在它們上面都裝一個 FVWM,使用相同的配置文件,就能得到一致的界面。
這些程序大部分都是久經考驗的,是經過很多人多年開發的結果。它們功能完善,各種情況都考慮周全,絕對是你的好助手。
6、不要配置你不需要的東西
如果你只想做一個像我這樣的普通用戶,主要目的是用 Linux 來完成自己的科研任務和日常工作,那就可以不用系統管理員或者網絡管理員的標准來要求自己,因為當一個系統和網絡管理員確實很辛苦。普通用戶學習那些不經常用到的復雜的維護系統的工具,其實是浪費時間,學了不用是會很快忘記的!
我不是一個合格的網絡管理員,我的服務器都只設置了我自己需要的功能,設置好 ssh, ftp 已經足夠了,那樣可以省去我很多麻煩。我從來不過度考慮“安全”,因為 Linux 缺省已經很安全了。我沒有磁帶機,就不用管 tar 的那些稀奇古怪的參數了,czf, xzf, ztf 已經可以滿足我所有的需要。sed, awk, ... 我也只會幾種常用的命令行。
7、不用忙著看內核源碼
除非你想研究操作系統,否則還是先把怎麼使用 Linux 掌握好再說吧。我以前看了那麼多內核源代碼,寫了驅動程序,結果最後發現我還是一只很多事情不能用 Linux 解決的菜鳥 吸取我的教訓吧,你應該首先掌握 shell,Xwindow 的使用和原理,它們可不比內核簡單。