Poudriere: 如果不需要 freebsd-update 更新,则会出现令人困惑的消息

创建于 2016-04-16  ·  8评论  ·  资料来源: freebsd/poudriere

首先运行'/usr/sbin/freebsd-update.fixed fetch'

Poudriere 可能应该在告诉它安装(可能不存在的)更新之前检查 freebsd-update 是否找到任何更新,以避免用户对上述消息感到困惑。

最有用的评论

是的,freebsd-update 应该可以处理这个问题。 我最初没有这样做的原因是我不想鼓励人们盲目下载和安装更新。

但此时即使我修复了 freebsd-update,poudriere 也会调用旧的 freebsd-update 代码好几年,所以教 poudriere 删除它会避免一些混乱。

所有8条评论

 ~/git/poudriere # grep 'Run.*first' `which freebsd-update`
 echo "首先运行'$0 install'。"
 echo "首先运行'$0 fetch'。"

这是来自freebsd-update

报告中没有更多上下文,我不确定它在哪里以及在什么条件下显示。

问题是 jail.sh 运行/usr/sbin/freebsd-update.fixed fetch install 。 如果fetch发现不需要更新(例如,这是一个还没有任何安全建议的新版本),则install打印出令人困惑的消息。

解决方案是运行/usr/sbin/freebsd-update.fixed fetch ,检查是否获取了任何更新,然后运行/usr/sbin/freebsd-update.fixed install

如何确定是否获取了任何更新?

检查/var/db/freebsd-update/f465c3739385890c221dff1a05e578c6cae0d0430e46996d319db7439f884336-install是否是符号链接。

我宁愿不做这样的层违规并让 Poudriere 像这样依赖于 freebsd-update 的内部文件。 我只是将消息发送出去(就像 tty 检查之类的其他代码一样)。

如果 Poudriere 可以检测到是否刚完成提取,那么为什么 freebsd-update 打印消息?

为什么 freebsd-update 打印消息

因为freebsd-update fetch installfreebsd-update fetch; freebsd-update install的同义词。

是的,但是您告诉我 poudriere 可以检测是否刚刚获取了更新,因此freebsd-update install应该能够检测到,如果尚未获取任何内容,则不会打印无意义的消息。 一个简单的 mtime 比较就可以解决这个问题,就像我们对pkg update所做的一样,只显示最后一次获取时间过时后的消息。

是的,freebsd-update 应该可以处理这个问题。 我最初没有这样做的原因是我不想鼓励人们盲目下载和安装更新。

但此时即使我修复了 freebsd-update,poudriere 也会调用旧的 freebsd-update 代码好几年,所以教 poudriere 删除它会避免一些混乱。

此页面是否有帮助?
0 / 5 - 0 等级