我在YoctoProject "fido"环境中的sstate-cache
目录大小超过3GB,如何删除位于yocto/build-dir
目录下的sstate-cache
目录?
是否可以安全使用rm -rf
命令?还有其他方法吗?
build/tmp
目录,包括sstate-cache
目录是安全的:
此外,您可以通过调用作为最后的手段,为了清理构建并从头开始(除了下载以外),您可以删除tmp目录中的所有内容或完全摆脱该目录。 如果这样做,您还应彻底删除build/sstate-cache目录(请参见[1]和[2])。
do_cleansstate
来删除特定配方的sstate-cache,如下所示(请参见do_cleansstate)。$ bitbake -c cleansstate recipe
正确的任务是:
$ bitbake -c cleansstate <recipe-name>
参考文档:Yocto参考手册
还有更多的清理任务,可以删除sstate缓存等更多内容(例如do_cleanall
)。
删除sstate-cache目录是安全的,但是减少其大小的正确方法是使用 poky/scripts/sstate-cache-management.sh
脚本,该脚本将删除旧条目。请参见https://git.yoctoproject.org/cgit.cgi/poky/plain/scripts/sstate-cache-management.sh
您可以从构建中删除sstate-cache,这样做的最常见原因是,随着每次构建添加更多缓存数据,它会不断增长。以下是清理它的简单方法:
./scripts/sstate-cache-management.sh --remove-duplicated -d --cache-dir=<path to sstate-cached>
build/tmp
不包括sstate-cache
。但是正如注释所说,如果你删除了构建文件夹中的sstate-cache
文件夹,你也应该删除tmp
文件夹。 - SimonSimCity