Linux系統的垃圾清理方法
添加時間:2016-1-19 21:09:55
添加:
思海網絡
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腳本,自動清理系統。
對硬盤進行碎片整理
已經說過好多次:運行Linux的優點之一就是,從來沒必要對硬盤進行碎片整理。其實,并非完全如此。大多數普通用戶從來沒必要為文件碎片整理而操心,因為碎片現象不會嚴重到影響旋轉硬盤性能的地步。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.
一般對磁盤的清理方式
1.定期對重要文件系統掃描,并作對比,分析那些文件經常讀寫
代碼如下:
#IS-IR/home>;files.txt
#diff filesold.txt files.txt
通過分析預測空間的增長情況,同時可以考慮對不經常讀寫文件進行壓縮,以減少占用空間。
2.查看空間文件系統的inodes消耗
代碼如下:
#df-i/home
如果還有大量的inpde可用,說明大文件占用空間,否賊可能大量小文件占用空間。
3.找出占用空間較大的目錄
查看/home占用的空間
代碼如下:
#du-hs/home
查看/home下占用空間超過1000m
代碼如下:
#du/awk'$1>;2000'
4.找出占用空間較大的文件
代碼如下:
#find/home-size +2000K
5.找出最近修改或創建的文件
先TOUCH一個你想要的時間的文件如下
代碼如下:
#TOUCH-t 08190800 test
#find/home-newer test-print
刪除日志
代碼如下:
#rm-rf/var/log/*
6.對分區做連接
在有空間的分區,對沒有空進分區做連接
代碼如下:
#in-s/home/use/home
7.找出耗費大量的空間的進程
根據不同的應用,找出對應的進程,分析原因。
8.檢查并修復文件系統
代碼如下:
#fsck-y/home
9.重啟機器
有了以上的十招,應該可以解決大部分問題,但是關鍵還是安裝時要規劃好分區。另外發現磁盤蠻時,不能急,小心操作,認真分析原因,然后小心應對。需要注 意,以上十招不需要順序執行,有的可能一招封喉,有的可能需要數招并用,刪除操作一定要小心。如果還不行,只有采取增加硬盤,重新安裝系統等“硬”辦法了
還可以:
代碼如下:
cd/
du-h--max-depth=q/grep M/sort-n
找到最大的那個目錄后進入該目錄
再運行
代碼如下:du-h-max-depth=1/grep M /sort-n
找出來以后看是否有用的文件
沒用就刪掉
希望以上的清理方法步驟能夠給操作linux系統的用戶帶來磁盤空間一定的釋放。
我們關注的主要參數是碎片整理分數。它在這里是0,所以我們沒必要為硬盤碎片整理而操心。如果你的主文件夾不在其自己的分區,那么你確實應該將/換成/home,還要檢查那里的碎片整理狀態。如果你想運行碎片整理程序,只要執行不帶-c參數的命令:
代碼如下:
sudo e4defrag /
然后,它會檢查文件系統,對需要碎片整理的文件進行碎片整理。在這個過程中,會有大量的輸出結果滾動顯示。要是你系統上有好多文件,這個過程很漫長,所以你可以在晚上上床前讓碎片整理程序開始運行,完畢后關閉系統。為此,你可以執行類似這樣的命令:
代碼如下:
sudo e4defrag / && sudo e4defrag /home && sudo shutdown -h now
如今我通常采取的做法是,在完成安裝新系統、將所有文件倒過來之后,運行碎片整理工具。之后,我會偶爾檢查一下狀態,我發現此后碎片整理分數基本上保持在0。
值得一提的是,你根本沒必要對固態硬盤進行碎片整理。事實上,在固態硬盤上執行上述命令通常會彈出一個消息,顯示不允許這種操作。只使用固態硬盤的那些人完全可以不用看這一節。
最后說一句:在Linux中對硬盤進行碎片整理后,別指望性能會有大幅提升,因為即使硬盤上有一些碎片文件,ext4也其實擅長于快速運行。切記:ext4在設計當初就考慮到了高輸入/輸出文件服務器,它非常高效。
關鍵字:Linux、系統、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解