pkg 搜索选项,以便在成功时更新目录的本地副本,但在失败时不删除?

pkg 搜索选项,以便在成功时更新目录的本地副本,但在失败时不删除?

我正在尝试pkg search在 FreeBSD 上使用来在配置的存储库中搜索“已知包”。现有代码用于pkg search -R <format_args> all查询远程存储库并更新本地目录副本,然后返回所有包的原始信息。

问题是,如果存储库可用,这可以正常工作。但是,如果远程存储库不可用(DNS 问题、没有互联网等),那么本地副本也会被删除,所以无论信息如何可以从本地目录副本获取的数据(即使一两个包已过时)将丢失,直到下次与远程存储库进行在线联系。这意味着在存储库访问失败后,任何需要搜索本地目录的离线活动都将不可能。

我能找到的唯一不意味着在失败时清除本地副本的选项是 -U (它只是阻止尝试任何可能可用的更新,无论它是否会成功),以及pkg info(它提供本地安装的 pkg数据并且不提供回购副本目录数据);似乎都没有帮助。

有没有一种方法可以像往常一样使用 pkg 预先更新目录副本,前提是可以获得有效的更新,但如果不能的话就不擦拭它

答案1

编辑您的pkg.conf并将其REPO_AUTOUPDATE设置NOman pkg search

Package repository  catalogues will be automatically updated whenever pkg
 search is run by a user ID with write access to the package database,
 unless disabled by the -U flag or setting REPO_AUTOUPDATE to NO in
 pkg.conf(5).

相关内容