如何清除 APT 缓存来回收宝贵的磁盘空间
创始人
2024-03-02 06:01:52
0

如何清除 APT 缓存?你只需使用这个 apt-get 命令选项:

sudo apt-get clean

但是,清理 APT 缓存不仅仅是运行上面的命令。

在本教程中,我将解释什么是 APT 缓存、为什么会使用它、为什么你要清理它,以及关于清理 APT 缓存你应该知道的其他事情。

我将在这里使用 Ubuntu 作为参考,但由于这是关于 APT 的,因此它也适用于 Debian 和其他基于 Debian 和 Ubuntu 的发行版,比如 Linux Mint、Deepin 等等。

什么是 APT 缓存?为什么要使用它?

当你使用 apt-getapt 命令安装一个软件包时(或在软件中心安装 DEB 包),APT 包管理器会以 .deb 格式下载软件包及其依赖关系,并将其保存在 /var/cache/apt/archives 文件夹中。

下载时,apt 将 deb 包保存在 /var/cache/apt/archives/partial 目录下。当 deb 包完全下载完毕后,它会被移到 /var/cache/apt/archives 目录下。

下载完包的 deb 文件及其依赖关系后,你的系统就会从这些 deb 文件中安装包

现在你明白缓存的用途了吧?系统在安装软件包之前,需要一个地方把软件包文件存放在某个地方。如果你了解 Linux 目录结构,你就会明白,/var/cache 是合适的地方。

为什么安装包后要保留缓存?

下载的 deb 文件在安装完成后并不会立即从目录中删除。如果你删除了一个软件包,然后重新安装,你的系统会在缓存中查找这个软件包,并从这里获取它,而不是重新下载(只要缓存中的软件包版本与远程仓库中的版本相同)。

这样就快多了。你可以自己尝试一下,看看一个程序第一次安装,删除后再安装需要多长时间。你可以使用 time 命令来了解完成一个命令需要多长时间time sudo apt install package_name

我找不到任何关于缓存保留策略的内容,所以我无法说明 Ubuntu 会在缓存中保留下载的包多长时间。

你应该清理 APT 缓存吗?

这取决于你。如果你的根目录下的磁盘空间用完了,你可以清理 APT 缓存来回收磁盘空间。这是 Ubuntu 上释放磁盘空间的几种方法之一。

使用 du 命令检查缓存占用了多少空间:

有的时候,这可能会占用几百兆,如果你正在运行一个服务器,这些空间可能是至关重要的。

如何清理 APT 缓存?

如果你想清除 APT 缓存,有一个专门的命令来做。所以不要去手动删除缓存目录。只要使用这个命令就可以了:

sudo apt-get clean

这将删除 /var/cache/apt/archives 目录的内容(除了锁文件)。以下是 apt-get clean 命令模拟删除内容:

还有一个命令是关于清理 APT 缓存的:

sudo apt-get autoclean

clean 不同的是,autoclean 只删除那些无法从仓库中下载的包。

假设你安装了包 xyz。它的 deb 文件仍然保留在缓存中。如果现在仓库中有新的 xyz 包,那么缓存中现有的这个 xyz 包就已经过时了,没有用了。autoclean 选项会删除这种不能再下载的无用包。

删除 apt 缓存安全吗?

是的,清除 APT 创建的缓存是完全安全的。它不会对系统的性能产生负面影响。也许如果你重新安装软件包,下载时间会更长一些,但也仅此而已。

再说一次,使用 apt-get clean 命令。它比手动删除缓存目录更快、更简单。

你也可以使用像 StacerBleachbit 这样的图形工具来实现这个目的。

总结

在写这篇文章的时候,新的 apt 命令没有这样的内置选项。不过,为了保持向后的兼容性,仍然可以运行 apt clean (内部应该是运行了 apt-get clean)。请参考这篇文章来了解 apt 和 apt-get 的区别

我希望你觉得这个关于 APT 缓存的解释很有趣。虽然这不是什么必要的东西,但了解这些小东西会让你对你的 Linux 系统更加了解。

欢迎你在评论区提出反馈和建议。


via: https://itsfoss.com/clear-apt-cache/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

apt

相关内容

[chapter3][5G...
参考: 3GPP 38.211 https://w...
2025-05-29 13:16:24
[ 云计算 | Azure...
本章节主要内容进行讲解:Azure云计算的核心体系结...
2025-05-28 20:08:12
在Linux服务器上绑定域...
要把Linux服务器和域名绑定起来,让我们先简单聊聊这个过程。想象...
2025-02-27 13:49:16
深度deepin 25预览...
deepin深度系统近期发布了其最新版本deepin 25的预览版...
2025-02-06 06:16:56
不要将位置视为固定值,只能...
在RecyclerView Adapter 中,我们应该通过hol...
2025-01-10 20:00:34

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...