я хочу запустить следующую команду с марионеткой:
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, и все должно пройти успешно.