不,pacman不会从缓存(/var/cache/pacman/pkg
)中删除旧软件包,因此,随着时间的流逝,它会填满。
您可以采用两种方法清除缓存:暴力破解pacman -Sc
:
-c,--clean
从高速缓存中删除不再安装的软件包以及当前未使用的同步数据库,以释放磁盘空间。pacman下载软件包时,会将它们保存在缓存目录中。此外,还会为您从中下载的每个同步数据库保存数据库,即使将其从配置文件pacman.conf(5)中删除,也不会删除数据库。使用一个--clean开关仅删除不再安装的软件包;使用两个从缓存中删除所有文件。在两种情况下,您都可以选择是或否来删除软件包和/或未使用的已下载数据库。
或者,对于更细微的方法,您可以使用pacman-contrib附带的一种实用程序paccache
:
paccache是一种灵活的pacman缓存清理实用程序,它具有许多选项来帮助控制从包含pacman软件包tarballs的任何目录中删除多少内容。
默认情况下,paccache
将删除已安装软件包的最后三个版本,但会删除所有其他版本,但是您可以使用-k, --keep
开关更改此数字。还有一个-d, --dryrun
开关可以预览您的更改。请参阅paccache --help
所有开关。
pacman-contrib软件包中包含许多实用程序,可协助软件包管理,值得仔细研究它们的全部内容,并了解它们的工作方式,并使Arch的运行更加轻松。您可以通过以下方式查看完整列表:
pacman -Ql pacman-contrib | awk -F"[/ ]" '/\/usr\/bin/ {print $NF}'
cron
或systemd
作业可能是一个好主意。