【问题标题】:chef kitchen not working from Windows 10 integrated bash厨师厨房无法在 Windows 10 集成 bash 中工作
【发布时间】:2019-04-19 18:24:18
【问题描述】:

尝试在“厨房”中运行任何命令时收到以下错误:

bash: /mnt/c/opscode/chefdk/bin/kitchen: C:/opscode/chefdk/embedded/bin/ruby.exe: bad interpreter: No such file or directory

使用 chefdk 客户端时,它可以在外部集成 bash 中工作,但是我正在尝试通过集成 bash 来实现。

到目前为止,诸如“chef-client”和“knife”之类的 Chef 实用程序命令似乎可以正常工作。

【问题讨论】:

  • 适用于 Linux 的 Windows 子系统运行 Linux 可执行文件。有/usr/bin/ruby 文件吗?
  • 它....看起来好像...它以某种方式试图运行厨师的 Windows 安装?你试过sudo apt install chef吗?对不起,如果你有,这对你来说非常明显:)
  • 是的,我已经尝试过了,它要求我自动删除它,因为它识别出 Chef 已经安装。
  • @MarkPlotnick ruby 文件确实存在于该目录中

标签: linux bash windows-10 chef-infra test-kitchen


【解决方案1】:

A possible solution for the SSH key permissions issue below

我们真的需要让它一直运行下去,因为它比 Windows 上的原生 ChefDK 快得多!下面将让您更接近:

  1. 阻止 Windows 与 WSL 共享 PATH

    • 使用Regedit.exeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LxssManager 下创建一个值为fffffffd 的DWORD DistributionFlags。然后转到服务并重新启动LxssManager 服务。
  2. 在 WSL 中下载并安装适用于 Ubuntu 的 ChefDK 和 Vagrant

  3. 将一些 windows 路径添加到您的 WSL 路径

    export PATH="$PATH:/mnt/d/bin/Oracle/VirtualBox:/mnt/c/Windows/System32:/mnt/c/Windows/System32/WindowsPowerShell/v1.0"

  4. 允许 Vagrant Windows 访问

    export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS='1'

  5. 运行kitchen converge,它现在可以工作了

  6. 运行 kitchen login 仍然有问题。它抱怨不安全的流浪者私钥:

    /opt/chefdk/embedded/lib/ruby/gems/2.5.0/gems/test-kitchen-1.22.0/lib/kitchen/instance.rb:217: warning: Insecure world writable dir /home/dgames/.yadr/bin in PATH, mode 040777 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for '/mnt/k/20180707-mbp/repos/github/cloud/ssl_certs/.kitchen/kitchen-vagrant/all-cacerts-centos-72/.vagrant/machines/default/virtualbox/private_key' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/mnt/k/20180707-mbp/repos/ge_github/cloud/ssl_certs/.kitchen/kitchen-vagrant/all-cacerts-centos-72/.vagrant/machines/default/virtualbox/private_key": bad permissions vagrant@127.0.0.1's password:

【讨论】:

    【解决方案2】:

    我们尚未设置与 WSL 一起使用的设置,因为 Windows ChefDK 安装程序是所有内容的原生 Windows-y 构建。如果您想将其用作 shell,我建议使用 MSYS2 中的 bash。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多