原文:在路上的博客

在MacBook上 安裝或更新一個(gè)應(yīng)用程序有時(shí)會(huì)出奇的困難,由于磁盤(pán)空間不足。本文,我將描述幾種方法,用于在MacBook上 快速、安全的清理大量存儲(chǔ)空間。
近來(lái),我已在我的MacBook Pro上實(shí)操了分析和清理磁盤(pán)空間。結(jié)果,我已設(shè)法釋放10GB磁盤(pán)空間,并最終升級(jí)XCode到最新版本。
分析磁盤(pán)使用情況
分析磁盤(pán)空間占用較多的最好方法是使用Disk Inventory X ,支持Mac OS 10.13+ (including 10.15 Catalina)
命令行安裝:
brew install --cask disk-inventory-x
不會(huì)命令行的朋友,下載安裝 。
安裝后,啟動(dòng)臺(tái)會(huì)顯示:

,系統(tǒng)偏好設(shè)置 -> 安全性與隱私 -> 通用 -> 仍要打開(kāi)。
選擇Macintosh HD進(jìn)行分析,分析較慢,需要稍等片刻:

該應(yīng)用有清晰的界面展示磁盤(pán)使用情況:

下面,讓我們來(lái)討論減少磁盤(pán)使用量的小效果。
刪除冗余應(yīng)用程序緩存
在我的電腦上,大量非必要數(shù)據(jù)存放在: ~/Library/Caches。我意識(shí)到有幾百兆跟一年多沒(méi)用過(guò)的Yarn有關(guān)。顯然,很多應(yīng)用程序都希望緩存數(shù)據(jù),而忽略了隨后的清理工作。

你可以使用以下命令徹底清除緩存:
cd ~/Library/Caches
rm -rf *
或者,你也可以選擇要?jiǎng)h除緩存的文件。我已經(jīng)定期清理總緩存幾個(gè)月了。除了暫時(shí)的系統(tǒng)速度變慢之外,沒(méi)發(fā)現(xiàn)其他任何問(wèn)題。
很顯然,過(guò)段時(shí)間緩存會(huì)重新產(chǎn)生。但是即使經(jīng)過(guò)更長(zhǎng)時(shí)間,也不會(huì)有原來(lái)那么大。清理30多GB緩存后,使用一周電腦緩存也只增加到2GB。

刪除舊的日志文件
我平常使用Ruby on Rails最多。使用Disk Inventory X,我發(fā)現(xiàn)運(yùn)行本地測(cè)試會(huì)持續(xù)寫(xiě)log到log/test.log。

可以想象到其他應(yīng)用也在以同樣方式占用磁盤(pán)。Disk Inventory X對(duì)于識(shí)別和修復(fù)此類問(wèn)題非常友好。
減少Docker使用磁盤(pán)空間

Docker以侵占磁盤(pán)空間著名??梢酝ㄟ^(guò)以下命令查看Docker占用了多少磁盤(pán)空間:
docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 17 4 2.115GB 1.577GB (74%)
Containers 6 1 138.4MB 0B (0%)
Local Volumes 19 5 1.564GB 1.347GB (86%)
Build Cache 0 0 0B 0B
運(yùn)行docker images查看哪些鏡像占用空間最大:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pihole/pihole latest 4642d275ab73 4 months ago 296MB
postgres 11.8-alpine a7f73db0b977 6 months ago 156MB
postgres 12.3-alpine 17150f4321a3 6 months ago 157MB
postgres 9.6-alpine 45f463e53bc1 6 months ago 36.1MB
alpine latest a24bb4013296 7 months ago 5.57MB
postgres 12.2-alpine ae192c4d3ada 8 months ago 152MB
postgres 9.6.17 529a7b20fb73 8 months ago 200MB
postgres 11.6-alpine 89ae06c2ad76 11 months ago 152MB
在我的電腦上,我有好幾個(gè)版本的postgres鏡像,每個(gè)都占用大量空間??梢杂靡韵旅钜瞥鼶ocker鏡像:
docker rmi -f IMAGE_ID
以我的經(jīng)驗(yàn)來(lái)看,鏡像通常占用大部分磁盤(pán)空間。但是,如果您想進(jìn)行更全面的清理,包括Docker容器,網(wǎng)絡(luò)和緩存,請(qǐng)使用以下命令:
docker system prune
我之所以選擇全面清理,是因?yàn)樗械谋镜谼ocker項(xiàng)目都可以輕松的用seed data創(chuàng)建。
注意:在刪除容器或卷之前,請(qǐng)確保仔細(xì)檢查是否沒(méi)有難以恢復(fù)的數(shù)據(jù)。
查看Docker文檔 以了解有關(guān)其他修剪命令的更多信息。
最后
希望那些建議會(huì)幫助你輕松釋放大量磁盤(pán)空間。良好的做法是用Disk Inventory X定期檢查是否有不必要的磁盤(pán)占用,這將有助于幫助你保持良好的磁盤(pán)使用。