使用 ubuntu 构建 Docker 镜像时,一些开发人员建议通过运行以下命令删除包缓存以减小生成的镜像的大小:
rm -rf /var/lib/apt/lists/*
但是,还有一个命令apt-get clean
可以删除位于以下位置的包缓存/var/cache/apt/archives
(参考:https://help.ubuntu.com/community/AptGet/Howto)
为什么开发人员推荐前一个命令而不是后一个命令?由于它们针对不同的缓存位置,同时运行这两个命令有什么好处吗?
答案1
它们的作用不同。rm -rf /var/lib/apt/lists/*
删除由 加载的软件包列表 apt update
。删除由或apt clean
加载的缓存软件包。两者都需要 root 权限 (sudo)。apt install
apt upgrade
答案2
该rm
命令需要 sudo。因此,一个简单的拼写错误或Enter过早的点击都会对您的系统造成不可挽回的破坏。没有理由不将其用于sudo apt clean
此目的。