Ubuntu磁盤分析和清理:baobab journalctl
大概也就只有愛折騰的極客們,才敢將Linux系統(tǒng)作為日常操作系統(tǒng)吧。
磁盤清理,在Windows系統(tǒng)中,簡(jiǎn)直不要太簡(jiǎn)單,各種電腦管家打開磁盤分析清理一鍵搞定。但在Linux系統(tǒng)中,可就沒那么容易了,一不小心執(zhí)行了一些不恰當(dāng)?shù)拿畋阕屇愫蠡诓灰选?/p>
所以這里給大家分享一些Linux子系統(tǒng)中的Ubuntu桌面版的磁盤分析和日志清理的經(jīng)驗(yàn)。

首先,磁盤清理嘛,本質(zhì)無非就是刪一些大文件唄。所以大家只需要會(huì)一個(gè)命令就夠了:
sudo rm -rf /*如果是在公司的服務(wù)器上執(zhí)行,跑完之后,你也可以跑了。如果是在自己的電腦上跑的,那么恭喜你,可以換回Windows系統(tǒng)的電腦,再也不用經(jīng)受Linux的折磨了。
在此,本著不教大家使壞的原則,嚴(yán)正聲明,上面的命令(sudo rm -rf /*)大家千萬不要執(zhí)行,sudo rm -rf ./*的命令大家謹(jǐn)慎執(zhí)行,帶上sudo的命令大家小心執(zhí)行。
baobab——磁盤占用分析
磁盤清理的第一步肯定是要分析磁盤的目錄結(jié)構(gòu)啦,所以baobab(猴面包樹)幫你解決苦惱。
如果只分析當(dāng)前用戶下的所有目錄直接輸入baobab就夠了,如果分析整個(gè)磁盤那就以管理員身份執(zhí)行sudo baobab
什么?你說沒有這個(gè)命令,那就安裝一下唄,sudo apt install baobab
執(zhí)行后你就可以看到整個(gè)電腦的磁盤使用情況,點(diǎn)到根目錄下你就可以看到類似的界面:

這里就可以根據(jù)目錄大小和結(jié)構(gòu),去選擇性地清理一些無用的文件或目錄了。
journalctl——系統(tǒng)日志分析和清理
是的,你沒看錯(cuò),上面的日志文件已經(jīng)有4.4G了。那這個(gè)日志文件要怎么清理?
cd到目錄下,然后直接清理。是個(gè)解決方法,但不建議這么做。
journalctl分析一下日志使用情況:
:~$ journalctl --disk-usage
Archived and active journals take up 4.0G in the file system.從命令的輸出結(jié)果看,日志量確實(shí)已經(jīng)有4個(gè)G多了。
那就清理一下唄:
sudo journalctl --vacuum-time=30d以管理員身份執(zhí)行,只保留最近30天的日志記錄,當(dāng)然也支持按磁盤占用大小進(jìn)行清理換成 --vacuum-size參數(shù)就可以了:

更多journalctl命令相關(guān)的信息,執(zhí)行journalctl --help就可以查看,看不懂就自行百度。
執(zhí)行完你會(huì)看到類似這樣的輸出:

再次查看一下日志的磁盤占用:
:~$ journalctl --disk-usage
Archived and active journals take up 72.0M in the file system.只剩下72M的磁盤占用,舒服多了~~
安裝包清理
除了日志還有就是安裝包,一般每次升級(jí)或者軟件安裝完后,安裝包是可以清理掉的:
sudo apt autoremove就能自動(dòng)將無用安裝包清理掉,系統(tǒng)升級(jí)后/boot空間不足也可以將無用的系統(tǒng)內(nèi)核安裝包清理。
內(nèi)核清理
sudo apt autoremove命令并不能將無用的內(nèi)核安裝包完全清理干凈,一般我們還要在檢查一下是否存在未安裝的舊內(nèi)核安裝包。
首先查看我們當(dāng)前使用的內(nèi)核版本,防止刪除時(shí)刪錯(cuò)版本:
:~$ uname -a
Linux ****-****-***-****** 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux查詢系統(tǒng)已存在的內(nèi)核安裝包:
dpkg --get-selections | grep linux這里可以看到系統(tǒng)里存在很多個(gè)未安裝(deinstall)的舊內(nèi)核版本,這些都是可以清理的:

對(duì)于已安裝的舊內(nèi)核,可以執(zhí)行sudo apt remove <內(nèi)核包名>進(jìn)行卸載,卸載完成后對(duì)應(yīng)的包則會(huì)顯示為未安裝(deinstall),在執(zhí)行一下sudo apt purge <內(nèi)核包名>就可以完全清理掉。

清理完后再檢查一下:

清爽極了~~~
總結(jié)
Linux磁盤清理不像Windows那樣,有專門的電腦管家可以一鍵清理,需要從多個(gè)方面去分析并清理。
以Ubuntu為例,baobab命令可以以可視化的形式對(duì)系統(tǒng)的磁盤目錄結(jié)構(gòu)進(jìn)行磁盤占用分析,journalctl命令則是用來做系統(tǒng)日志分析和清理的。除了文件、系統(tǒng)日志、無用安裝包,我們同時(shí)還需要分析一下系統(tǒng)更新產(chǎn)生的舊內(nèi)核,清理系統(tǒng)舊內(nèi)核有利于釋放/boot空間,為以后的系統(tǒng)升級(jí)提供足夠的磁盤空間。















 
 
 









 
 
 
 