У меня есть centos-6.5 поле. Странно замораживается, когда я пытаюсь запросить его условие шеф-повара.
Вот образец того, что идет, когда я пытаюсь vagrant provision --debug
это
[2014-10-10T20:33:33+00:00] INFO: Processing remote_file[/etc/yum.repos.d/devtools.repo] action create (vidya_client::default line 7)
DEBUG ssh: stdout: [2014-10-10T20:33:34+00:00] INFO: Processing yum_package[devtoolset-1.0-gcc-c++.x86_64] action install (vidya_client::default line 15)
INFO interface: info: [2014-10-10T20:33:34+00:00] INFO: Processing yum_package[devtoolset-1.0-gcc-c++.x86_64] action install (vidya_client::default line 15)
[2014-10-10T20:33:34+00:00] INFO: Processing yum_package[devtoolset-1.0-gcc-c++.x86_64] action install (vidya_client::default line 15)
DEBUG ssh: stdout: [2014-10-10T20:33:34+00:00] INFO: yum_package[devtoolset-1.0-gcc-c++.x86_64] installing devtoolset-1.0-gcc-c++-4.7.0-5.3.el6.x86_64 from testing-devtools-6 repository
INFO interface: info: [2014-10-10T20:33:34+00:00] INFO: yum_package[devtoolset-1.0-gcc-c++.x86_64] installing devtoolset-1.0-gcc-c++-4.7.0-5.3.el6.x86_64 from testing-devtools-6 repository
[2014-10-10T20:33:34+00:00] INFO: yum_package[devtoolset-1.0-gcc-c++.x86_64] installing devtoolset-1.0-gcc-c++-4.7.0-5.3.el6.x86_64 from testing-devtools-6 repository
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
И продолжается и на навсегда.
Мой рецепт довольно прост.
yum_package "wget"
yum_package "gcc-c++.x86_64"
yum_package "openssl-devel.x86_64"
yum_package "libcurl-devel.x86_64"
yum_package "httpd"
remote_file "/etc/yum.repos.d/devtools.repo" do
source "http://people.centos.org/tru/devtools/devtools.repo"
end
yum_package "devtoolset-1.0-gcc-c++.x86_64"
Я обнаружил, что способ добавления репозитория devtools был неправильным.После импорта поваренной книги yum и выполнения следующих изменений все прошло нормально.
yum_repository 'testing-devtools' do
baseurl 'http://people.centos.org/tru/devtools/$releasever/$basearch/RPMS'
description 'testing devtools for CentOS $releasever'
gpgcheck false
action :create
end
yum_package "devtoolset-1.0-gcc-c++.x86_64"
Попробуйте отключить параметр:
config.ssh.pty
в вашем Vagrantfile
. Обычно это обычная причина таких зависаний.
В документации Vagrant для config.ssh.pty мы можем прочитать, что:
Этот параметр является расширенной функцией, которую не следует включать, если только совершенно необходимо. Он нарушает некоторые другие функции Vagrant и действительно доступен только в тех случаях, когда это абсолютно необходимо. Если вы можете найти способ не использовать pty, это рекомендуется вместо этого.
Поскольку у меня была аналогичная проблема с apt-get .
запустить (при необходимости установить lldb
):
echo "call (void) rb_backtrace ( ) "| lldb -p $ (pgrep -fn рубин)
для вывода трассировки Ruby на передний план (вы также можете использовать gdb
)
выполнить регистрацию, например: vagrant --debug up 2> frozen.log
и рабочую конфигурацию в works.log
, затем сравните с инструментом сравнения
sudo dtruss -fn ruby
(или vagrant
) , в Linux используйте strace
/ ltrace
для отладки процесса