Linux系統(tǒng)的垃圾清理方法
Linux系統(tǒng)的垃圾清理方法
從概念上講,嵌入式系統(tǒng)并不是近來才出現(xiàn)的產(chǎn)品,但隨著計(jì)算技術(shù)和通信技術(shù)的迅速發(fā)展以及Internet的廣泛應(yīng)用,嵌入式系統(tǒng)卻從來沒有象現(xiàn)在這樣風(fēng)靡過。接下來是小編為大家收集的Linux系統(tǒng)的垃圾清理方法,希望能幫到大家。
Linux系統(tǒng)的垃圾清理方法
Linux的最大優(yōu)點(diǎn)之一就是,使用一段時(shí)間后,它照樣很穩(wěn)定。Linux面臨的最大挑戰(zhàn)就是,將它安裝起來,并找到并配置你完成工作所需要的軟件。一旦你完成了這項(xiàng)任務(wù),它幾乎就會(huì)順利運(yùn)行起來。至于系統(tǒng)維護(hù)方面,倒沒有太多的東西需要擔(dān)心。另一方面,Windows是我所說的一款“骯臟”的系統(tǒng),原因在于它在運(yùn)行過程中,會(huì)生成大量的額外數(shù)據(jù),留在硬盤上。眾所周知,一段時(shí)間后,隨著這類數(shù)據(jù)不斷積累,Windows的運(yùn)行速度自然會(huì)慢下來,這時(shí)Windows用戶要么安裝軟件,清理掉所有這些垃圾數(shù)據(jù);要么定期重裝系統(tǒng),好讓啟動(dòng)速度讓人覺得煥然一新。實(shí)際上,有整個(gè)產(chǎn)業(yè)致力于銷售面向Windows的“清理工具”。其中一些軟件其實(shí)就是“披著羊皮”的惡意軟件,不過有許多還是相當(dāng)有用。當(dāng)然,關(guān)鍵在于弄清楚哪個(gè)才是真正優(yōu)秀的工具。
如果你使用Linux,那么可能會(huì)很慶幸自己沒必要處理這類煩心事,不過也別高興得太早了。雖然Linux不像Windows那么骯臟,但它確實(shí)多少得益于偶爾進(jìn)行的清理工作。Linux在運(yùn)行過程中也會(huì)生成數(shù)據(jù),具體有日志、緩存數(shù)據(jù)和臨時(shí)文件。這些額外數(shù)據(jù)通常并不影響系統(tǒng)的性能。想要清理掉這些數(shù)據(jù)的主要原因是,收回占用的硬盤空間。如果你在運(yùn)行固態(tài)硬盤(SSD),這可能是你在乎的方面,因?yàn)楣虘B(tài)硬盤的容量往往不如我們習(xí)慣使用的傳統(tǒng)硬盤,所以我們要密切關(guān)注占用的空間,直到大容量固態(tài)硬盤的價(jià)格降下來一點(diǎn)。下面不妨介紹為清理Linux系統(tǒng)可以采取的幾個(gè)要點(diǎn)。
清除舊內(nèi)核
警告!在清除與Linux內(nèi)核有關(guān)的任何東西時(shí),要極其小心!清除錯(cuò)軟件包很有可能會(huì)導(dǎo)致你的計(jì)算機(jī)癱瘓,或者完全淪為垃圾!我們可是警告過你了!
每個(gè)Linux發(fā)行版處理內(nèi)核管理的方式不一樣。有些擁有出色的GUI工具,讓你可以選擇運(yùn)行什么內(nèi)核,比如OpenSUSE、Linux Mint和Manjaro。而另一些發(fā)行版很少或從不更新內(nèi)核,將手動(dòng)更新這項(xiàng)任務(wù)完全交給了用戶。內(nèi)核相當(dāng)重要,擁有經(jīng)過更新的內(nèi)核是你確保系統(tǒng)安全、遠(yuǎn)離病毒和黑客的主要手段之一。我在這里會(huì)著重介紹Ubuntu,不過鼓勵(lì)你深入研究一番內(nèi)核,了解你使用的那個(gè)發(fā)行版如何處理內(nèi)核的更新。
Ubuntu將內(nèi)核連同系統(tǒng)上的其他一切一塊更新,并留下舊內(nèi)核。內(nèi)核更新偶爾會(huì)導(dǎo)致問題,所以最好保留舊內(nèi)核。那樣萬一需要的話,可以恢復(fù)到舊內(nèi)核。問題在于,Ubuntu完全將舊內(nèi)核留在那里;一段時(shí)間后,最后你的系統(tǒng)上安裝了一大堆舊內(nèi)核。內(nèi)核及相關(guān)文件占用大量空間,多達(dá)數(shù)百M(fèi)B。因而,清除舊內(nèi)核可以釋放好多空間。
在Ubuntu下管理內(nèi)核的最佳工具是新立得軟件包管理器(Synaptic Package Manager)。要是它還沒有安裝到你的系統(tǒng)上,現(xiàn)在就安裝。在你打開該管理器之前,先打開終端,執(zhí)行這個(gè)命令:
復(fù)制代碼
代碼如下:
uname -r
你應(yīng)該會(huì)看到類似這樣的輸出結(jié)果:
復(fù)制代碼
代碼如下:
3.16.0-38-generic
這是目前運(yùn)行的內(nèi)核的版本號(hào),需要把它記下來,因?yàn)槲覀兿胍_保沒有對(duì)這個(gè)內(nèi)核或隨帶的任何文件做任何操作。
由于我們知道了運(yùn)行什么樣的版本,接下來可以打開該管理器,看看有沒有任何舊內(nèi)核在占用空間。想找到內(nèi)核,只要往搜索框中輸入“linux-image”,然后按已安裝版本對(duì)列表進(jìn)行排序。為此,你可以點(diǎn)擊軟件包列表的標(biāo)題。即使你只安裝了一個(gè)版本的內(nèi)核,也會(huì)看到與它一塊安裝的一大堆文件列了出來。你沒必要將它們逐個(gè)清理掉,高亮選中主內(nèi)核映像軟件包,并將它標(biāo)記為從右擊菜單中完全清除,就可以讓系統(tǒng)清除與之相關(guān)的一切文件。務(wù)必要反復(fù)核查版本號(hào),確保沒有清除當(dāng)前版本。要是你按已安裝的軟件包對(duì)列表進(jìn)行排序,最新的運(yùn)行中內(nèi)核應(yīng)該會(huì)出現(xiàn)在列表的最上面?,F(xiàn)在可以標(biāo)記所有的舊內(nèi)核,不過在你點(diǎn)擊“應(yīng)用”按鈕之前,還需要尋找另一個(gè)軟件包。
清空搜索欄,現(xiàn)在搜索一下“linux-headers”。要是它們已安裝,你應(yīng)該會(huì)獲得一份列表,上面列出了與安裝在系統(tǒng)上的內(nèi)核有關(guān)的所有已安裝的Linux標(biāo)題文件。版本號(hào)伴隨內(nèi)核,所以務(wù)必要確保你沒有清除當(dāng)前版本的標(biāo)題文件。實(shí)際上,標(biāo)題文件對(duì)于計(jì)算機(jī)的日常操作而言并非必要,但是如果你想從源代碼編譯程序或驅(qū)動(dòng)程序,有標(biāo)題文件在是好事。它們并不占用太多的空間,所以我總是將運(yùn)行中內(nèi)核的標(biāo)題文件留在系統(tǒng)上。
使用BleachBit
有一些確實(shí)很出色的Linux版程序可以自動(dòng)檢查系統(tǒng),清除額外文件。我總是使用的一個(gè)程序就是BleachBit。它的歷史并不短,幾乎每一個(gè)Linux發(fā)行版上都有它。我用它來清除系統(tǒng)上的任何異常文件還沒有遇到過任何問題。BleachBit很輕巧,卻提供了一些相當(dāng)強(qiáng)大的功能特性。我們?cè)诖酥唤榻B很基本的功能,不過需要花點(diǎn)時(shí)間才能深入了解它的本領(lǐng),你完全會(huì)覺得一些高級(jí)功能很有用。
一旦你安裝好了BleachBit,就會(huì)在儀表板或應(yīng)用程序菜單中看到與它對(duì)應(yīng)的兩個(gè)條目。一個(gè)讓你可以以根用戶來運(yùn)行它,另一個(gè)以你本人來運(yùn)行它。以你本人來運(yùn)行會(huì)清除與你帳戶有關(guān)的文件,而以根用戶來運(yùn)行會(huì)清除緩存軟件包和系統(tǒng)日志之類的數(shù)據(jù)。BleachBit還讓你可以清空可能安裝在系統(tǒng)上的Web瀏覽器、電子郵件客戶程序以及插件的緩存內(nèi)容。這里選擇時(shí)要小心,因?yàn)樗鼤?huì)清除掉你的所有已保存密碼和設(shè)置;如果你想清空一切,這也許沒什么,但如果你使用別人的帳戶來運(yùn)行它,可能會(huì)讓用戶不高興。我發(fā)現(xiàn),保持其他設(shè)置不變,僅僅清空Web瀏覽器里面的緩存就能收回大量的空間。
以根用戶運(yùn)行BleachBit讓你可以使用APT清理命令,清空你系統(tǒng)上的緩存軟件包和更新版。你可以在終端中使用clean、auto clean和auto remove命令,不過在這里全為你做好了。說到終端,BleachBit在這里也可以使用。你可以執(zhí)行“bleachbit”命令,它就會(huì)以你用GUI配置的預(yù)設(shè)值來運(yùn)行。這很好,因?yàn)樗馕吨憧梢灾谱饕粋€(gè)Bash腳本,自動(dòng)清理系統(tǒng)。
對(duì)硬盤進(jìn)行碎片整理
已經(jīng)說過好多次:運(yùn)行Linux的優(yōu)點(diǎn)之一就是,從來沒必要對(duì)硬盤進(jìn)行碎片整理。其實(shí),并非完全如此。大多數(shù)普通用戶從來沒必要為文件碎片整理而操心,因?yàn)樗槠F(xiàn)象不會(huì)嚴(yán)重到影響旋轉(zhuǎn)硬盤性能的地步。ext4文件系統(tǒng)非常擅長(zhǎng)以一種并不進(jìn)行碎片整理的方式來存儲(chǔ)文件。不像Windows上使用的NTFS文件系統(tǒng),ext4將數(shù)據(jù)分散在整個(gè)硬盤上,將類似的文件歸為一類,以便不用碎片整理,就為文件的增長(zhǎng)留出了大量空間。這意味著,你在硬盤上只要有大量的閑置空間,可能根本不需要進(jìn)行碎片整理。我的系統(tǒng)運(yùn)行了兩三年,檢查硬盤后,發(fā)現(xiàn)碎片整理分?jǐn)?shù)為“0”,這表明根本不需要碎片整理。
既然如此,我為何還要費(fèi)心告訴各位進(jìn)行碎片整理呢?在一些情況下,你可能需要考慮碎片整理,比如如果你的硬盤開始塞滿。已占用空間超過80%的任何ext4旋轉(zhuǎn)硬盤往往會(huì)開始對(duì)文件進(jìn)行碎片整理,因?yàn)橄到y(tǒng)將文件分開來,確??臻g增加會(huì)開始變得更難。引起文件碎片整理的另一種情形是,如果你有一大批非常龐大的文件。如果用戶處理大量視頻制作、處理大型數(shù)據(jù)庫或虛擬機(jī),最后就會(huì)面臨一大堆非常龐大的文件。一段時(shí)間后,這些文件的碎片現(xiàn)象會(huì)變得非常嚴(yán)重,運(yùn)行碎片整理完全會(huì)顯著改善硬盤性能。
打開終端,執(zhí)行這個(gè)命令,看看你的系統(tǒng)是否需要碎片整理:
復(fù)制代碼
代碼如下:
sudo e4defrag / -c
輸入密碼,程序會(huì)迅速分析你的文件系統(tǒng)。如果你有好多文件,這個(gè)過程可能需要1分鐘,所以耐心點(diǎn)。你應(yīng)該會(huì)看到類似這樣的輸出結(jié)果:
復(fù)制代碼
代碼如下:
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.
一般對(duì)磁盤的清理方式
1.定期對(duì)重要文件系統(tǒng)掃描,并作對(duì)比,分析那些文件經(jīng)常讀寫
復(fù)制代碼
代碼如下:
#IS-IR/home>;files.txt
#diff filesold.txt files.txt
通過分析預(yù)測(cè)空間的增長(zhǎng)情況,同時(shí)可以考慮對(duì)不經(jīng)常讀寫文件進(jìn)行壓縮,以減少占用空間。
2.查看空間文件系統(tǒng)的inodes消耗
復(fù)制代碼
代碼如下:
#df-i/home
如果還有大量的inpde可用,說明大文件占用空間,否賊可能大量小文件占用空間。
3.找出占用空間較大的目錄
查看/home占用的空間
復(fù)制代碼
代碼如下:
#du-hs/home
查看/home下占用空間超過1000m
復(fù)制代碼
代碼如下:
#du/awk' class="main">
Linux系統(tǒng)的垃圾清理方法
4.找出占用空間較大的文件
復(fù)制代碼
代碼如下:
#find/home-size +2000K
5.找出最近修改或創(chuàng)建的文件
先TOUCH一個(gè)你想要的時(shí)間的文件如下
復(fù)制代碼
代碼如下:
#TOUCH-t 08190800 test
#find/home-newer test-print
刪除日志
復(fù)制代碼
代碼如下:
#rm-rf/var/log/*
6.對(duì)分區(qū)做連接
在有空間的分區(qū),對(duì)沒有空進(jìn)分區(qū)做連接
復(fù)制代碼
代碼如下:
#in-s/home/use/home
7.找出耗費(fèi)大量的空間的進(jìn)程
根據(jù)不同的應(yīng)用,找出對(duì)應(yīng)的進(jìn)程,分析原因。
8.檢查并修復(fù)文件系統(tǒng)
復(fù)制代碼
代碼如下:
#fsck-y/home
9.重啟機(jī)器
有了以上的十招,應(yīng)該可以解決大部分問題,但是關(guān)鍵還是安裝時(shí)要規(guī)劃好分區(qū)。另外發(fā)現(xiàn)磁盤蠻時(shí),不能急,小心操作,認(rèn)真分析原因,然后小心應(yīng)對(duì)。需要注 意,以上十招不需要順序執(zhí)行,有的可能一招封喉,有的可能需要數(shù)招并用,刪除操作一定要小心。如果還不行,只有采取增加硬盤,重新安裝系統(tǒng)等“硬”辦法了
還可以:
復(fù)制代碼
代碼如下:
cd/
du-h--max-depth=q/grep M/sort-n
找到最大的那個(gè)目錄后進(jìn)入該目錄
再運(yùn)行
復(fù)制代碼
代碼如下:
du-h-max-depth=1/grep M /sort-n
找出來以后看是否有用的文件
沒用就刪掉
希望以上的清理方法步驟能夠給操作linux系統(tǒng)的用戶帶來磁盤空間一定的釋放。
我們關(guān)注的主要參數(shù)是碎片整理分?jǐn)?shù)。它在這里是0,所以我們沒必要為硬盤碎片整理而操心。如果你的主文件夾不在其自己的分區(qū),那么你確實(shí)應(yīng)該將/換成/home,還要檢查那里的碎片整理狀態(tài)。如果你想運(yùn)行碎片整理程序,只要執(zhí)行不帶-c參數(shù)的命令:
復(fù)制代碼
代碼如下:
sudo e4defrag /
然后,它會(huì)檢查文件系統(tǒng),對(duì)需要碎片整理的文件進(jìn)行碎片整理。在這個(gè)過程中,會(huì)有大量的輸出結(jié)果滾動(dòng)顯示。要是你系統(tǒng)上有好多文件,這個(gè)過程很漫長(zhǎng),所以你可以在晚上上床前讓碎片整理程序開始運(yùn)行,完畢后關(guān)閉系統(tǒng)。為此,你可以執(zhí)行類似這樣的命令:
復(fù)制代碼
代碼如下:
sudo e4defrag / && sudo e4defrag /home && sudo shutdown -h now
如今我通常采取的做法是,在完成安裝新系統(tǒng)、將所有文件倒過來之后,運(yùn)行碎片整理工具。之后,我會(huì)偶爾檢查一下狀態(tài),我發(fā)現(xiàn)此后碎片整理分?jǐn)?shù)基本上保持在0。
值得一提的是,你根本沒必要對(duì)固態(tài)硬盤進(jìn)行碎片整理。事實(shí)上,在固態(tài)硬盤上執(zhí)行上述命令通常會(huì)彈出一個(gè)消息,顯示不允許這種操作。只使用固態(tài)硬盤的那些人完全可以不用看這一節(jié)。
最后說一句:在Linux中對(duì)硬盤進(jìn)行碎片整理后,別指望性能會(huì)有大幅提升,因?yàn)榧词褂脖P上有一些碎片文件,ext4也其實(shí)擅長(zhǎng)于快速運(yùn)行。切記:ext4在設(shè)計(jì)當(dāng)初就考慮到了高輸入/輸出文件服務(wù)器,它非常高效。即使要處理筆記本電腦或臺(tái)式機(jī),它也不會(huì)“氣喘吁吁”。
別過分追求干凈!
一些計(jì)算機(jī)用戶在確保系統(tǒng)干凈、在最高性能下運(yùn)行到了無以復(fù)加的地步。牢記一點(diǎn):許多Linux系統(tǒng)在根本沒有采取上述措施的情況下運(yùn)行了好多年。Linux根本不會(huì)像Windows或Mac那樣慢下來,哪怕長(zhǎng)時(shí)間使用后也是如此。你想要清空文件的主要原因是,收回硬盤空間,或者控制完全系統(tǒng)備份的大小。如果你與別人一樣喜歡一直試用不同的發(fā)行版,很可能最后根本不需要采取任何上述措施,就因?yàn)槟阍陬l繁地重裝。不過,知道有這樣一些工具總歸是件好事。
看了“Linux系統(tǒng)的垃圾清理方法”還想看: