前言
Linux計算機安裝後,在我們不斷的使用過程中,因為添加、刪除軟件和上網沖浪、調試程序等行為,硬盤中會產生各種各樣的垃圾文件,而隨著這些垃圾文件的不斷膨脹,它們不僅會平白吞噬掉我們寶貴的硬盤空間,更會拖累機器的運行速度,影響我們的工作效率。本文介紹一下給 Linux 系統減肥的方法和工具的使用技巧,本文使用的 Linux 發行版本是 Ubuntu 12.04 。本文介紹的工具包括:Activity Log Manager、BleachBit、find、fdupes、Geeqie、GConf Cleaner,這些工具都是開源工具,Linux 用戶可以通過下載編譯源代碼在其他流行的 Linux 版本(如 Redhat、SUSE 等)上使用。
Linux 下哪些文件屬於垃圾文件
軟件安裝過程中產生的臨時文件
許多 bin 格式的軟件在安裝時,首先要把自身的安裝文件解壓縮到一個臨時目錄(一般為/tmp 目錄)然後再進行安裝。如果軟件設計有疏忽或者系統有問題,當安裝結束後,這些臨時文件就會變得並不“臨時”,成為硬盤裡的一堆垃圾,很多時候它們以*.tmp 的面孔出現。
軟件運行過程中產生的臨時文件
和安裝過程一樣,在軟件的運行過程中通常也會產生一些臨時交換文件,有些軟件運行過後遺留下來的垃圾甚至多達數百兆,比如 SSH 服務器和客戶端連接過程中時產生的文件。還有虛擬機運行時產生的文件。另外我們刪除一個賬戶之後,還會存在一些無用垃圾文件及目錄。
上網沖浪產生的臨時文件
我們在上網的時候,浏覽器總是將網頁文件下載到本地機器上,這些緩存文件不但占用了寶貴的磁盤空間,還常常會把我們的個人隱私公之於眾。
一些不常用的雞肋文件
比如一些應用軟件自帶的幫助和系統手冊頁等。既然食之無味索性也將它們視作垃圾文件的一種表現。占用空間甚大,更會嚴重拖累系統和一些圖形處理軟件的運行速度。另外還有一些損壞的桌面文件,它包括損壞的應用程序菜單按鈕和文件關聯。
各種緩存文件
如果 Linux 用戶安裝使用 GIMP 或者 Geeqie 等圖形編輯工具,在這些軟件都有圖片預覽功能,在保存了圖片的文件夾下會產生一個名為“Thumbs.db”的文件,這個文件會隨著圖片文件的增加而膨脹。還有就是.DS_Store 文件,DS_Store 文件是用來存儲這個文件夾的顯示屬性的:比如文件圖標的擺放位置。刪除以後的副作用就是這些信息的失去。另外還有使用 apt 或者 YUM 軟件包安裝過程中生成的緩存文件。
用 Linux 命令刪除垃圾文件
刪除用戶後遺留下的垃圾文件
這裡我們使用到的主要命令是 find 。舉個例子: 我們刪除一個賬戶之後,還會存在一些無用垃圾文件及目錄,我們要找出屬於這個用戶的垃圾東西,使用 find / -user 用戶名 :就可以找到根目錄下屬於這個用戶的相關文件 ,使用命令:
#find ./ -nouser |xargs rm –rf
core 文件
當我們在系統下運行某個程序出錯的時候,系統會自動將殘留在內存中的數據存成 core 文件,久而久之,系統中遺留下來的 core 會越來越多,就像灰塵一樣散落在系統的每一個角落裡很是煩人。這個時候,我們就可以應用 find 命令加上—exec 參數來清理它們。使用命令:
# find / -name core -print -exec rm -rf {} \;
多余的手冊頁
另外 Linux 提供了眾多語言的手冊頁(man)比如 Ubuntu 的 手冊頁位於/usr/share/man 目錄下 ,可以使用命令刪除多余語言的手冊頁保留中英文即可。
# cd /usr/share/man
# find ./ -maxdepth 1 -type d | tail -n +2 | grep -E -v '(en|zh|man).*' | \
while read d; do rm -rf $d; done
說明:關鍵字是(en|zh|man) ,您可以根據自己的情況修改。
使用 fdupes 工具刪除指定目錄下重復文件
fdupes 是一個命令行工具,它會查找和刪除指定目錄的重復文件,它通過文件的大小和 MD5 值進行比較 。一個字節一個字節進行對比。 首先安裝這個工具
# apt-get install fdupes
在 /etc 目錄查找重復文件 ,使用如下命令:
#fdupes /etc
可以與 Linux 命令組合使用,刪除文件 :
#fdupes -r -f . | grep -v ^$ | tee duplicate.txt cat duplicate.txt | \
while read file; do rm -v "$file"; done
另外也可以與 sed 命令組合使用,刪除文件 :
# fdupes -r -n -S /tmp | sed -r “s/^/#rm \”/” | sed -r “s/$/\”/” >duplicate-files.sh
刪除緩存文件
清理舊版本的軟件緩存
# apt-get autoclean
清理所有軟件緩存:
#apt-get clean
刪除系統不再使用的孤立軟件
這三個命令主要清理升級緩存以及無用包的。
使用 Geeqie 工具找出相似圖像文件
現在的硬盤容量是越來越大,出於備份的考慮,很多朋友會采取“寧濫勿缺”的原則保存圖片,這就可能出現文件重復的情況,造成文件搜索的效率低下。要在海量的存儲空間中找出重復的文檔,並不是一件容易的工作。其實借助著名的圖像浏覽工具 Geeqie 可以很輕松地找出系統中的重復和相似圖像文件。這些文件相比文本文件更大,時間長了會占用很多硬盤空間。使用上面介紹的 fdupes 工具就不行,因為 fdupes 工具只能刪除完全相同 (md5sum 相同) 的重復文件, 但若要剔除 "相似" 的圖片文件, 則可使用 geeqie 工具。首先安裝這個工具:
# apt-get install gqview
下面運行這個工具,在要搜索的目錄上按鼠標右鍵, 選擇 "Find duplicates recursive..."見圖 1 。
選擇左下角的 "Compare by:" 下拉菜單可選擇比對方式 Similarity (custom)找出相似度 99% 以上的圖片,另外可以勾選 "Thumbnails" 可顯示縮略圖見圖 2
下面在被選取的項目上按鼠標右鍵, 點選 "Delete" 即可刪除所有被選取的圖片, 刪除前會有一個的確認界面以免誤刪。說明 99%是圖片相似度的缺省值,用戶可以通過如下方式修改參數:在 Edit → Preferences → Preferences... → Behavior → Miscellaneous: Custom similarity threshold 見圖 3 。
使用 BleachBit 清理文件
簡介
BleachBit 是一款開源免費的系統清理工具,功能類似 Windows 平台的 CCleaner。BleachBit 能夠刪除隱藏的垃圾文件,以及簡單的保護你的隱私。擦除緩存,刪除 cookies 文件,清除互聯網浏覽歷史,刪除未使用的本地化碎片日志,刪除臨時文件,是一款非常實用的跨平台的系統清理工具。BleachBit 提供有 rpm 和 deb 二進制包,適用於 Fedora/CentOS/RHEL、Debian/Ubuntu 等 Linux 發行版。其它 Linux 用戶可以選擇 BleachBit 的源碼包(下載地址:http://bleachbit.sourceforge.net/download.php )。使用 BleachBit,你可以清理系統中的緩存、歷史、臨時文件、cookies 等不需要的東西,這樣可以釋放你的磁盤空間。當前,BleachBit 能夠清理 Beagle、Firefox、Epiphany、Flash、OpenOffice.org 、KDE、 GIMP、Java 編程工具、vim、Gedit 編輯器等 70 多種軟件所產生的垃圾文件。還有系統運行時生成的“Thumbs.db”的文件和使用 apt 或者 YUM 軟件包安裝過程中生成的緩存文件以及剪切板裡面的歷史文件信息等。
首先安裝軟件:
#apt-get install bleachbit
安裝之後系統工具菜單裡就會多出兩個工具:bleachbit 和 bleachbit as root。對於 root 用戶使用第 2 個,軟件第一次運行,彈出“首選項窗口”,見圖 4。
簡單說明一下設置界面:包括定制文件和文件夾,驅動器列表 ,語言,白名單(免於清理的)設置,以及是否開機啟動 BleachBit 等一些選項。
下面看看工作界面見圖 5。
BleachBit 軟件功能單一因此使用起來也方便。從圖 5 裡我能看到。 軟件的左邊羅列出了能夠清理的各種垃圾,點擊“預覽“按鈕,就會分析出垃圾文件的明細和大小。 勾選好軟件按 clean(清除)按鈕即可。
 
Chrome 浏覽器可以清理的文件主要包括:
緩存: 刪除那些網頁緩沖文件(這些緩沖文件可以減少下次訪問該網頁的時間)
Cookies: 刪除 cookies 文件,它們保存網站首選項、認證和身份等信息
當前會話: 刪除當前會話
DOM(文檔對象模型) 存儲: 刪除 HTML5 cookies
表單歷史: 網站表單輸入歷史
歷史: 刪除已浏覽網站、下載及縮略圖的歷史記錄
搜索引擎: 重置搜索引擎使用歷史並刪除非內置搜索引擎,其中一些引擎為自動添加
整理數據庫: 清理數據庫碎片以減少空間並提高速度(無需刪除任何數據)
首先查看可清理的 Chrome 浏覽器文件見圖 6 。
選中欲清理的項目後,點擊“預覽“按鈕即可執行對該類項目內所含垃圾文件的掃描操作,掃描過程非常快速,掃描過程完畢,用戶將看到檢測到的垃圾文件列表及其統計信息,下面用戶只需鼠標點擊“清理”按鈕即可輕松清除這些已經被檢測到的垃圾文件。
上面筆者選擇執行的是對 Chrome 浏覽器的掃描清理任務,當然可以選擇全部垃圾列表中的所有項目,用戶只需逐一勾選掃描項目選擇激活項即可。
使用 Activity Log Manager 清理殘留在系統中的使用痕跡
上網沖浪,用賬號登錄系統,包括使用一些編輯軟件都會在系統裡留下蛛絲馬跡,這些殘留信息中包含個人信息,如果被不法分子利用,就會造成隱私洩露,下面介紹的工具是 Activity Log Manager,它是配置在 Zeitgeist 活動日志中記錄的內容的 ,使用它可以有效保護隱私。首先安裝這個工具:
#apt-get install activity-log-manager
Activity Log Manager 的中文名稱是活動日志管理器,安裝完成後出現在附件菜單中。它的使用方法也比較簡單。最直接的就是設置停止記錄的功能,然後刪除所有歷史文件見圖 7 。
當然用戶也可以進行有區別的設置,可以根據具體情況設置哪些應用程序和文件可以保留歷史文件那些不保留。下面通過“文件”界面進行設置見圖 8
這裡筆者選擇“電子表格、文本、即時消息”三個事關隱私的選項。另外對於一些特殊的應用程序用戶還可以自己添加到活動日志管理器中,見圖 9
使用 GConf Cleaner 清理 GConf
GConf 是一個用於存儲 GNOME 應用程序選項設置的系統。如果該系統充斥著大量無用鍵值,那麼將使 GConf 臃腫不堪。這對應用程序的啟動速度和性能都是有影響的。為了解決這個問題,你可以使用 GConf Cleaner 來對其進行清理。Gconf-Cleaner 是一款類似於 Windows 注冊表清理器的工具。它會檢查 Gconf 數據庫(即 GNOME 配置數據庫)並移除無用及過時的項目。
首先安裝這個工具:
#apt-get install gconf-cleaner
然後從終端執行 gconf-cleaner 啟動 GConf Cleaner 程序。這個程序具有執行向導,只需按步驟操作即可。 向導初始畫面,點擊 Forward 會進入分析過程。圖 10 是分析結果,它提供具體數據,並可保存。再次點擊 Forward 則開始清理過程。