Назад | Перейти на главную страницу

«/ Usr / bin / env: bash: нет такого файла или каталога» во время выполнения команды puppet exec

Я делаю первые шаги в марионетке. Я пытаюсь настроить амбари.

Это моя марионеточная конфигурация:

exec { "ambari-repo":
  command => "curl http://public-repo-1.hortonworks.com/ambari/suse11/1.x/updates/1.4.4.23/ambari.repo > /etc/yum.repos.d/ambari.repo",
  path    => ["/usr/bin", "/usr/sbin"]
}

package {"ambari-server":
    ensure => installed,
    require => Exec["ambari-repo"]
}

file { "hadoop-dir":
    path => "/hadoop",
    ensure => "directory"
}

exec { "ambari-server-setup":
    command => "ambari-server setup -s",
    path    => ["/usr/bin", "/usr/sbin"],
    cwd => "/hadoop",
    user => "root",
    require => [Package["ambari-server"], File["hadoop-dir"]]
}

Но когда мой марионеточный сценарий запускается, он не работает:

Notice: Compiled catalog for localhost.be in environment production in 0.30 seconds
Notice: /Stage[main]/Main/File[hadoop-dir]/ensure: created
Notice: /Stage[main]/Main/Exec[ambari-repo]/returns: executed successfully
Notice: /Stage[main]/Main/Package[ambari-server]/ensure: created
Notice: Finished catalog run in 49.39 seconds


Stderr from the command:

Error: /usr/bin/env: bash: No such file or directory

Error: /Stage[main]/Main/Exec[ambari-server-setup]/returns: change from notrun to 0 failed: /usr/bin/env: bash: No such file or directory

Обратите внимание, что я использую марионетку с бродягой.

Есть идеи, что я делаю не так?

Спасибо

Для exec ambari-server-setup вы определяете путь, содержащий / usr / bin и / usr / sbin.

Скорее всего, у вас установлен двоичный файл bash как / bin / bash, поэтому вам также нужно будет включить / bin в этот путь.

Я подозреваю, что либо bash не установлен, либо его нет в пути по умолчанию.

Когда вы входите в систему на клиентском компьютере марионетки, каковы выходные данные:

which bash