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

Проблемы с Exec в Puppet

я хочу запустить следующую команду с марионеткой:

sb2-init rasp /home/ubuntu/raspberry_pi_development/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc

В марионетке:

exec { "initSB2":
    command => "sb2-init rasp /home/ubuntu/raspberry_pi_development/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc" ,
    cwd => "/home/vagrant/raspberry_pi_development/rootfs",
    path => "/home/vagrant/raspberry_pi_development/scratchbox2/bin",
    user => 'vagrant',
    logoutput => true,
}

команда sb2-init находится в каталоге «/ home / vagrant / raspberry_pi_development / scratchbox2 / bin», и я хочу выполнить эту команду в папке «/ home / vagrant / raspberry_pi_development / scratchbox2 / bin».

Когда я выполняю этот марионеточный манифест, я получаю:

    notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 6
sename: command not found
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 6
sename: command not found
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 8
sename: command not found
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 8
 =: unary operator expected
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 2
readlink: command not found
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 2
dirname: command not found
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 2
readlink: command not found
notice: /Stage[main]//Exec[initSB2]/returns: /home/vagrant/raspberry_pi_development/scratchbox2/bin/sb2-init: line 2
/share/scratchbox2/scripts/sb2-parse-sb2-init-args: No such file or directory
notice: /Stage[main]//Exec[initSB2]/returns: Error: no target given
err: /Stage[main]//Exec[initSB2]/returns: change from notrun to 0 failed: /bin/sh -c "sb2-init rasp /home/ubuntu/ras
ry_pi_development/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc" returned 1
ead of one of [0] at /tmp/vagrant-puppet-1/manifests/devbox.pp:332

эта команда работает, когда я набираю ее вручную в оболочке, но не с марионеткой!

В чем проблема?

С уважением Майкл

Я не думаю, что на самом деле это как-то связано с Puppet - вывод команды на самом деле исходит от сценария, а не от Puppet (судя по всему, есть проблемы как с отсутствующими пакетами, так и с синтаксисом сценария, но не видно сценарий, сказать невозможно).

Я бы вручную запустил команду (например, через SSH) и проверил вывод. После устранения основной проблемы повторно запустите команду Puppet, и все должно пройти успешно.