Chef infra apache2在Ubuntu 18.04上通过chef solo安装失败

Chef infra apache2在Ubuntu 18.04上通过chef solo安装失败,chef-infra,chef-solo,Chef Infra,Chef Solo,我试图通过chef solo安装apache2,但未成功。当我在本地模式下运行chef client时,同样的方法也会起作用 package 'apache2' do action [:$pstall] end and package 'apache2' 两者都失败,但以下情况除外: * apt_update[Update the apt cache daily] action periodic (up to date) * apt_package[apache2] action ins

我试图通过chef solo安装apache2,但未成功。当我在本地模式下运行chef client时,同样的方法也会起作用

package 'apache2' do
  action [:$pstall]
end
and 
package 'apache2'
两者都失败,但以下情况除外:

* apt_update[Update the apt cache daily] action periodic (up to date)
* apt_package[apache2] action install

================================================================================
Error executing action `install` on resource 'apt_package[apache2]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '100'
---- Begin output of ["apt-get", "-q", "-y", "install", "apache2=2.4.29-1ubuntu4.4"] ----
STDOUT:
STDERR: E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
---- End output of ["apt-get", "-q", "-y", "install", "apache2=2.4.29-1ubuntu4.4"] ----
Ran ["apt-get", "-q", "-y", "install", "apache2=2.4.29-1ubuntu4.4"] returned 100
chef solo能够执行菜谱中的第一行,这意味着配置应该很好。我不确定我错过了什么。请给我指点一下,谢谢

最好的


Alice

仅作为历史参考,该问题已按如下方式解决


Chef solo应该从root用户或使用sudo运行。

根据提供的日志-
E:无法锁定管理目录(/var/lib/dpkg/),您是root吗?
。从哪个用户运行chef solo?我使用了chef solo-c solo.rb-j web.json。看到你的评论后,我以sudo的身份运行它。似乎已经解决了这个问题。我现在遇到了一个不同的问题,但那可能是我。显然,chef不喜欢将solo.rb和web.json指定为相对路径。我在上面的命令中给出了完整的路径。工作很有魅力,以防其他人遇到同样的问题。@SzymonSzypulski,我不能接受这个答案,因为这是一个评论。但它解决了我的问题。