Chef infra 如何让Chef在使用action:install执行包命令期间输出日志?

Chef infra 如何让Chef在使用action:install执行包命令期间输出日志?,chef-infra,Chef Infra,我在用厨师来部署。 我有一个简单的食谱如下: package 'my-package' do action :install end 当chef client在Debian上运行这个菜谱时,它不会告诉我们apt-get-in-stdout的任何进展。 如果apt get安装包失败,我无法从chef client的日志中获得任何有关失败的信息。 我还检查了/var/log/apt/term.log,但没有安装日志 以下是chef客户端的日志输出: [Sat, 09 Mar 2013 22

我在用厨师来部署。 我有一个简单的食谱如下:

package 'my-package' do
    action :install
end
当chef client在Debian上运行这个菜谱时,它不会告诉我们apt-get-in-stdout的任何进展。 如果apt get安装包失败,我无法从chef client的日志中获得任何有关失败的信息。 我还检查了/var/log/apt/term.log,但没有安装日志

以下是chef客户端的日志输出:

[Sat, 09 Mar 2013 22:24:57 +0900] INFO: Processing package[my-package] action install (my-package::default line 19)

================================================================================
Error executing action `install` on resource 'package[my-package]'
================================================================================

Chef::Exceptions::Exec
----------------------
apt-get -y install my-package=3.0.0 returned 100, expected 0
如何让厨师输出apt的安装进度? 我应该使用execute命令而不是package命令吗? 如有任何建议,将不胜感激。
谢谢。

这是一个非常特定于Debian/Ubuntu的问题。您的
apt缓存
已过期。你要么要跑

apt-get update -y

在目标机器上,或者在
运行列表中包含早期的

您可以向首席客户机提供
-l debug
选项。

这不是您问题的答案,但要查看发生的确切错误,您可以通过ssh连接到该机器,并尝试手动启动
apt get-y install my package=3.0.0
。当然,不要使用
execute
资源来安装软件包。谢谢你,Draco。我目前正在检查问题,再次手动运行apt get作为您的注释。这有点毫无意义,因为Jenkins调用了chef客户端,我希望尽可能多地存储构建日志的所有信息。