如何確保Linux系統乾淨的三個須知

pythontab發表於2015-11-19

Linux的最大優點之一就是,使用一段時間後,它照樣很穩定。Linux面臨的最大挑戰就是,將它安裝起來,並找到並配置你完成工作所需要的軟體。一旦你完成了這項任務,它幾乎就會順利執行起來。至於系統維護方面,倒沒有太多的東西需要擔心。另一方面,Windows是我所說的一款“骯髒”的系統,原因在於它在執行過程中,會生成大量的額外資料,留在硬碟上。眾所周知,一段時間後,隨著這類資料不斷積累,Windows的執行速度自然會慢下來,這時Windows使用者要麼安裝軟體,清理掉所有這些垃圾資料;要麼定期重灌系統,好讓啟動速度讓人覺得煥然一新。實際上,有整個產業致力於銷售面向Windows的“清理工具”。其中一些軟體其實就是“披著羊皮”的惡意軟體,不過有許多還是相當有用。當然,關鍵在於弄清楚哪個才是真正優秀的工具。


如果你使用Linux,那麼可能會很慶幸自己沒必要處理這類煩心事,不過也別高興得太早了。雖然Linux不像Windows那麼骯髒,但它確實多少得益於偶爾進行的清理工作。Linux在執行過程中也會生成資料,具體有日誌、快取資料和臨時檔案。這些額外資料通常並不影響系統的效能。想要清理掉這些資料的主要原因是,收回佔用的硬碟空間。如果你在執行固態硬碟(SSD),這可能是你在乎的方面,因為固態硬碟的容量往往不如我們習慣使用的傳統硬碟,所以我們要密切關注佔用的空間,直到大容量固態硬碟的價格降下來一點。下面不妨介紹為清理Linux系統可以採取的幾個要點。

清除舊核心

警告!在清除與Linux核心有關的任何東西時,要極其小心!清除錯軟體包很有可能會導致你的計算機癱瘓,或者完全淪為垃圾!我們可是警告過你了!

每個Linux發行版處理核心管理的方式不一樣。有些擁有出色的GUI工具,讓你可以選擇執行什麼核心,比如OpenSUSE、Linux Mint和Manjaro。而另一些發行版很少或從不更新核心,將手動更新這項任務完全交給了使用者。核心相當重要,擁有經過更新的核心是你確保系統安全、遠離病毒和駭客的主要手段之一。我在這裡會著重介紹Ubuntu,不過鼓勵你深入研究一番核心,瞭解你使用的那個發行版如何處理核心的更新。

Ubuntu將核心連同系統上的其他一切一塊更新,並留下舊核心。核心更新偶爾會導致問題,所以最好保留舊核心。那樣萬一需要的話,可以恢復到舊核心。問題在於,Ubuntu完全將舊核心留在那裡;一段時間後,最後你的系統上安裝了一大堆舊核心。核心及相關檔案佔用大量空間,多達數百MB。因而,清除舊核心可以釋放好多空間。

在Ubuntu下管理核心的最佳工具是新立得軟體包管理器(Synaptic Package Manager)。要是它還沒有安裝到你的系統上,現在就安裝。在你開啟該管理器之前,先開啟終端,執行這個命令:

uname -r

你應該會看到類似這樣的輸出結果:

3.16.0-38-generic

這是目前執行的核心的版本號,需要把它記下來,因為我們想要確保沒有對這個核心或隨帶的任何檔案做任何操作。

由於我們知道了執行什麼樣的版本,接下來可以開啟該管理器,看看有沒有任何舊核心在佔用空間。想找到核心,只要往搜尋框中輸入“linux-image”,然後按已安裝版本對列表進行排序。為此,你可以點選軟體包列表的標題。即使你只安裝了一個版本的核心,也會看到與它一塊安裝的一大堆檔案列了出來。你沒必要將它們逐個清理掉,高亮選中主核心映像軟體包,並將它標記為從右擊選單中完全清除,就可以讓系統清除與之相關的一切檔案。務必要反覆核查版本號,確保沒有清除當前版本。要是你按已安裝的軟體包對列表進行排序,最新的執行中核心應該會出現在列表的最上面。現在可以標記所有的舊核心,不過在你點選“應用”按鈕之前,還需要尋找另一個軟體包。

清空搜尋欄,現在搜尋一下“linux-headers”。要是它們已安裝,你應該會獲得一份列表,上面列出了與安裝在系統上的核心有關的所有已安裝的Linux標題檔案。版本號伴隨核心,所以務必要確保你沒有清除當前版本的標題檔案。實際上,標題檔案對於計算機的日常操作而言並非必要,但是如果你想從原始碼編譯程式或驅動程式,有標題檔案在是好事。它們並不佔用太多的空間,所以我總是將執行中核心的標題檔案留在系統上。

使用BleachBit

有一些確實很出色的Linux版程式可以自動檢查系統,清除額外檔案。我總是使用的一個程式就是BleachBit。它的歷史並不短,幾乎每一個Linux發行版上都有它。我用它來清除系統上的任何異常檔案還沒有遇到過任何問題。BleachBit很輕巧,卻提供了一些相當強大的功能特性。我們在此只介紹很基本的功能,不過需要花點時間才能深入瞭解它的本領,你完全會覺得一些高階功能很有用。

一旦你安裝好了BleachBit,就會在儀表板或應用程式選單中看到與它對應的兩個條目。一個讓你可以以根使用者來執行它,另一個以你本人來執行它。以你本人來執行會清除與你帳戶有關的檔案,而以根使用者來執行會清除快取軟體包和系統日誌之類的資料。BleachBit還讓你可以清空可能安裝在系統上的Web瀏覽器、電子郵件客戶程式以及外掛的快取內容。這裡選擇時要小心,因為它會清除掉你的所有已儲存密碼和設定;如果你想清空一切,這也許沒什麼,但如果你使用別人的帳戶來執行它,可能會讓使用者不高興。我發現,保持其他設定不變,僅僅清空Web瀏覽器裡面的快取就能收回大量的空間。

以根使用者執行BleachBit讓你可以使用APT清理命令,清空你係統上的快取軟體包和更新版。你可以在終端中使用clean、auto clean和auto remove命令,不過在這裡全為你做好了。說到終端,BleachBit在這裡也可以使用。你可以執行“bleachbit”命令,它就會以你用GUI配置的預設值來執行。這很好,因為它意味著你可以製作一個Bash指令碼,自動清理系統。

對硬碟進行碎片整理

已經說過好多次:執行Linxu的優點之一就是,從來沒必要對硬碟進行碎片整理。其實,並非完全如此。大多數普通使用者從來沒必要為檔案碎片整理而操心,因為碎片現象不會嚴重到影響旋轉硬碟效能的地步。ext4檔案系統非常擅長以一種並不進行碎片整理的方式來儲存檔案。不像Windows上使用的NTFS檔案系統,ext4將資料分散在整個硬碟上,將類似的檔案歸為一類,以便不用碎片整理,就為檔案的增長留出了大量空間。這意味著,你在硬碟上只要有大量的閒置空間,可能根本不需要進行碎片整理。我的系統執行了兩三年,檢查硬碟後,發現碎片整理分數為“0”,這表明根本不需要碎片整理。

既然如此,我為何還要費心告訴各位進行碎片整理呢?在一些情況下,你可能需要考慮碎片整理,比如如果你的硬碟開始塞滿。已佔用空間超過80%的任何ext4旋轉硬碟往往會開始對檔案進行碎片整理,因為系統將檔案分開來,確保空間增加會開始變得更難。引起檔案碎片整理的另一種情形是,如果你有一大批非常龐大的檔案。如果使用者處理大量影片製作、處理大型資料庫或虛擬機器,最後就會面臨一大堆非常龐大的檔案。一段時間後,這些檔案的碎片現象會變得非常嚴重,執行碎片整理完全會顯著改善硬碟效能。

開啟終端,執行這個命令,看看你的系統是否需要碎片整理:

sudo e4defrag / -c

輸入密碼,程式會迅速分析你的檔案系統。如果你有好多檔案,這個過程可能需要1分鐘,所以耐心點。你應該會看到類似這樣的輸出結果:

now/best size/ext  
1. /var/log/syslog 3/1 4 KB  
2. /var/log/samba/log.nmbd 2/1 4 KB  
3. /var/log/boot.log 2/1 4 KB  
4. /var/log/auth.log 3/1 5 KB  
5. /var/log/ConsoleKit/history 3/1 10 KB  
 
Total/best extents 128413/128382  
Average size per extent 41 KB  
Fragmentation score 0  
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]  
This directory (/) does not need defragmentation.  
Done.

我們關注的主要引數是碎片整理分數。它在這裡是0,所以我們沒必要為硬碟碎片整理而操心。如果你的主資料夾不在其自己的分割槽,那麼你確實應該將/換成/home,還要檢查那裡的碎片整理狀態。如果你想執行碎片整理程式,只要執行不帶-c引數的命令:

sudo e4defrag /

然後,它會檢查檔案系統,對需要碎片整理的檔案進行碎片整理。在這個過程中,會有大量的輸出結果滾動顯示。要是你係統上有好多檔案,這個過程很漫長,所以你可以在晚上上床前讓碎片整理程式開始執行,完畢後關閉系統。為此,你可以執行類似這樣的命令:

sudo e4defrag / && sudo e4defrag /home && sudo shutdown -h now

如今我通常採取的做法是,在完成安裝新系統、將所有檔案倒過來之後,執行碎片整理工具。之後,我會偶爾檢查一下狀態,我發現此後碎片整理分數基本上保持在0。

值得一提的是,你根本沒必要對固態硬碟進行碎片整理。事實上,在固態硬碟上執行上述命令通常會彈出一個訊息,顯示不允許這種操作。只使用固態硬碟的那些人完全可以不用看這一節。

最後說一句:在Linux中對硬碟進行碎片整理後,別指望效能會有大幅提升,因為即使硬碟上有一些碎片檔案,ext4也其實擅長於快速執行。切記:ext4在設計當初就考慮到了高輸入/輸出檔案伺服器,它非常高效。即使要處理膝上型電腦或桌上型電腦,它也不會“氣喘吁吁”。

別過分追求乾淨!

一些計算機使用者在確保系統乾淨、在最高效能下執行到了無以復加的地步。牢記一點:許多Linux系統在根本沒有采取上述措施的情況下執行了好多年。Linux根本不會像Windows或Mac那樣慢下來,哪怕長時間使用後也是如此。你想要清空檔案的主要原因是,收回硬碟空間,或者控制完全系統備份的大小。如果你與別人一樣喜歡一直試用不同的發行版,很可能最後根本不需要採取任何上述措施,就因為你在頻繁地重灌。不過,知道有這樣一些工具總歸是件好事。


標題:Keeping Linux Clean,作者:Joe Collins


文章轉自:http://os.51cto.com/art/201511/497157.htm


相關文章