前言
工作用的 MacBook,越来越多遇到磁盘不足,无法升级的问题,所以翻译此文,也希望能帮到大家。
原文见:在路上的博客
在 MacBook 上 安装或更新一个应用程序有时会出奇的困难,由于磁盘空间不足。本文,我将描述几种方法,用于在 MacBook 上 快速、安全的清理大量存储空间。
近来,我已在我的 MacBook Pro 上实操了分析和清理磁盘空间。结果,我已设法释放 10GB 磁盘空间,并最终升级 XCode 到最新版本。
分析磁盘空间占用较多的最好方法是使用Disk Inventory X ,支持 Mac OS 10.13+ (including 10.15 Catalina)
命令行安装:
brew install --cask disk-inventory-x
不会命令行的朋友,下载安装 。
安装后,启动台会显示:
碰到这种情况的朋友 ,系统偏好设置 -> 安全性与隐私 -> 通用 -> 仍要打开。
选择 Macintosh HD 进行分析,分析较慢,需要稍等片刻:
该应用有清晰的界面展示磁盘使用情况:
下面,让我们来讨论减少磁盘使用量的小效果。
在我的电脑上,大量非必要数据存放在: ~/Library/Caches
。我意识到有几百兆跟一年多没用过的 Yarn 有关。显然,很多应用程序都希望缓存数据,而忽略了随后的清理工作。
你可以使用以下命令彻底清除缓存:
cd ~/Library/Caches
rm -rf *
或者,你也可以选择要删除缓存的文件。我已经定期清理总缓存几个月了。除了暂时的系统速度变慢之外,没发现其他任何问题。
很显然,过段时间缓存会重新产生。但是即使经过更长时间,也不会有原来那么大。清理 30 多 GB 缓存后,使用一周电脑缓存也只增加到 2GB。
我平常使用 Ruby on Rails 最多。使用 Disk Inventory X,我发现运行本地测试会持续写 log 到log/test.log
。
可以想象到其他应用也在以同样方式占用磁盘。Disk Inventory X 对于识别和修复此类问题非常友好。
Docker 以侵占磁盘空间著名。可以通过以下命令查看 Docker 占用了多少磁盘空间:
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
运行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
在我的电脑上,我有好几个版本的 postgres 镜像,每个都占用大量空间。可以用以下命令移除 Docker 镜像:
docker rmi -f IMAGE_ID
以我的经验来看,镜像通常占用大部分磁盘空间。但是,如果您想进行更全面的清理,包括 Docker 容器,网络和缓存,请使用以下命令:
docker system prune
我之所以选择全面清理,是因为所有的本地 Docker 项目都可以轻松的用 seed data 创建。
注意:在删除容器或卷之前,请确保仔细检查是否没有难以恢复的数据。
查看Docker 文档 以了解有关其他修剪命令的更多信息。
希望那些建议会帮助你轻松释放大量磁盘空间。良好的做法是用 Disk Inventory X 定期检查是否有不必要的磁盘占用,这将有助于帮助你保持良好的磁盘使用。