答案1
您无法在目录中找到 .deb 文件的原因/var/cache/apt/archives/
是它不再存在。
该locate
命令找到它是因为locate不查看实际的目录内容而是根据缓存进行操作。
从man locate
:
location 读取由 updatedb(8) 准备的一个或多个数据库,并将与至少一个 PATTERN 匹配的文件名写入标准输出,每行一个。
默认情况下,locate 不会检查数据库中找到的文件是否仍然存在(但如果数据库是使用 --require-visibility no 构建的,它确实需要所有父目录都存在)。locate 永远无法报告在相关数据库最近更新之后创建的文件。
要更新数据库缓存,请运行以下命令:
sudo updatedb
updatedb 创建或更新由locate(1)使用的数据库。如果数据库已经存在,则重用其数据以避免重新读取未更改的目录。
这应该可以整理出locate
不再存在的文件的命令。
编辑
对于/var/cache/apt/archives/
不存在的文件,也许您在运行sudo apt-get dist upgrade
命令后运行一个清理命令。
这些命令中的任何一个都会自动清除/var/cache/apt/archives/
目录。
sudo apt-get clean
sudo apt-get autoclean