精打細算用Linux(轉)

BSDLite發表於2007-08-11
精打細算用Linux(轉)[@more@]序言
所有的作業系統都要求"給我更多!"-- 它們要求更多的磁碟空間,更多的記憶體,很
高的cpu工作頻率--令人欣慰的是拯救我們這些沒有最新硬體的人的救世主出現了,是的
,我說的是Linux。
雖然Linux作為網路作業系統很出色,但實際上,作為單使用者的作業系統,工作在未
連網的家庭PC上,它也是非常不錯的。
考慮到這種情況,你有很多方法可以從你的系統中擠出更多的資源,甚至在一臺象
僅有8M記憶體的486這樣的老機器上也可以。
現在請記住你需要以 root 身份登入到系統來做下面的所有事情,我們的目的將有
兩個分支:使記憶體的使用量最小,和節省磁碟空間。
節省記憶體!

重新編譯核心
核心在沒有安裝到你的機器裡以前就已經被編譯好了,但是它是一個帶有所有功能
的核心,把每樣東西都編譯了進去。這就意味著它比你要專用的大。如果你從核心源代
碼編譯一個你自己的核心的話,它會比預設的vmlinuz的核心小100kB以上。此外,這還
有助於你瞭解如何編譯核心。實際上,這十分簡單。你要首先設定,就是說你的核心裡
都需要什麼功能。然後編譯它就行了。
Linux已經發展到了一個很高的階段,以至於它核心的設定可以是圖形化的。核心的
原始碼通常在這裡:/usr/src/linux。要執行圖形介面的設定程式,執行這個命令 mak
e menuconfig (這個是基於文字選單的),或者執行 make xconfig (這個是在X中的
圖形介面),你將會看到一個很長的設定選項列表,在做選擇以前,建議你仔細看看每
一項所帶的幫助提示。這些提示總是會給出合理的建議,你應該遵循它。如此,你將會
確切的得到那些你需要編譯進你的核心的東西,而不包含其他。我也建議你讀一讀原始碼
路徑下的README檔案。一旦你設定好了,退出X(如果你執行了它),在文字模式下編譯
它,這樣做沒有笨重的X執行可以有更多的記憶體可用,編譯起來快一些。
執行 make dep ; make zImage ,然後去喝杯咖啡,做完這些,README檔案會很通
俗的解釋你應如何使用這個新核心,我不再贅述。

停止某些服務!
當Linux系統執行的時候,通常會有很多後臺作業在執行,這些作業都是有特殊功能
的,它們叫做deamon。例如 sendmail,是郵件的daemon,它處理所有郵件的傳送和郵件
遞送安排。有許多這樣的daemon在系統啟動的時候開始執行,系統中有幾個runlevel,
它們是一些啟動和停止的服務的組合。例如,在通常的Linux系統的runlevel 1上,(這
是單使用者模式),就會明顯地比多使用者模式的runlevel 3需要較少的服務。
預設情況下,Linux 啟動進入 runlevel 3。現在它會啟動很多服務在這個runleve
l上,它們中的一些對未連網的家庭PC來說沒用。例如,你顯然不想執行sendmail來浪費
寶貴的記憶體。是的,它可以把郵件在root@localhost和someuser@localhost兩個本地用
戶間發來發去,但是這會消耗系統資源,而且沒有絲毫用處。
如何從一個runlevel裡刪去一項服務
在RedHat裡,這非常簡單。系統管理是RedHat比其他釋出強的地方。在以root登入
以後,啟動X,然後在一個 xterm 裡啟動 tksysv ,這是一個圖形介面的runlevel編輯
器。
你可以看到六個列,每個runlevel佔一個。現在我們僅注意runlevel3就可以了,就
是系統通常啟動進入的那個runlevel。每個列都有兩部分,上面的是系統啟動時開始執
行的服務,下面的是在系統shutdown時停止的服務。你要做的就是選擇你想刪去的項,
然後按del,就是這樣,另外記得在你退出以前儲存你的修改。
哪些服務要留下,哪些要刪去
事實上,告訴你留哪些很簡單。記住,所有的這些辦法都是在runlevel 3上有效。
這是幾條要點:
kerneld - 如果沒有它的話,那什麼都工作不起來了!
syslog - 必須保留,來記錄log資訊。這些log在萬一系統出現錯誤的時候,可以幫助你
看看系統哪裡出錯了(實際上,在Linux系統裡什麼錯誤都不會出現)
keytable - 如果你還想使用鍵盤的話就得留下這個!
rc.local - 這是那些日常的工作啟動的地方,在所有其他的服務都啟動以後執行
你僅僅需要上面的4項服務,沒有它們,就象有人說的," 一切都歇菜了"
你可能想保留的服務
下面是一些要不要兩可的服務,一些你可能想要保留的無關緊要的服務。你可能需
要它們,或者喜歡它們。
crond - 它週期性的執行一些日常的作業,最重要的事情就是確保你的log檔案不會太大
。你可以在你需要的時候來執行它。
atd - 如果你想要使用 at ,你就需要這個deamon,也就是說,作業按你指定的時間來
執行,在一個多使用者的24小時都不停機的大系統中,人們通常使用它來指定在晚上執行
一些非常繁重的計算任務。但是在簡單的家用機器上,一般不怎麼使用,畢竟你是使用
它的唯一的人。
gpm - 它可以讓你在文字模式下使用滑鼠,它僅在你工作在文字模式下的時候才有用,
而當你工作在X下的時候就是一種浪費。
節省磁碟空間
事實上,這裡你沒有什麼可做的,除了刪掉一些你不想要的包。RedHat有一個極好
的,很容易使用的包管理系統,它會記錄你硬碟上的幾乎所有的非使用者檔案。每個安裝
到你的系統裡的檔案都是這些包的一部分,這些包能夠被反安裝。

如何刪除一個包
在x中以命令列來執行 " glint ",這是一個圖形介面的RedHat包管理系統,你會得
到一個圖形介面顯示你的系統中安裝的所有的包。這些包被分類,並以目錄列表的形式
顯示出來。要刪掉一個包,選擇它,然後按一下右面的"uninstall"按鈕就可以了。
我應該刪掉哪些包?
請注意,有一些要緊的包是不應該被刪除的。在glint裡,通常比較可取的做法是不
要動 base 和 library 的包,除非你確切的知道你到底在做什麼。
其他的,看看它們的描述(點 query 按鈕)。如果你很久都沒有使用一個包的話,
或者預計以後也不會用它,那麼刪掉它通常是安全的。萬一刪掉一個包會影響其他的包
的話,glint會告訴你。它很安全。如果你誤刪了一個一個包,你總能從光碟上重新安裝
它的。
結尾
這些僅是你可以試試的建議。Linux你用的越多,嘗試的越多,你就會從你的系統中
擠出更多的資源。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-946346/,如需轉載,請註明出處,否則將追究法律責任。

相關文章