Неверная настроенная ошибка оболочки при запуске официального бродячего ящика FreeBSD

Я попытался запустить официальную бродячую коробку FreeBSD, используя:

vagrant init freebsd/FreeBSD-10.2-STABLE

И впоследствии соответствующим образом изменил мой Vagrantfile на основе инструкций на https://forums.freebsd.org/threads/52717/, добавив следующие строки:

Vagrant.configure("2") do |config|
  config.vm.guest = :freebsd
  config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
  config.vm.box = "freebsd/FreeBSD-10.2-STABLE"
  config.ssh.shell = "sh"
  config.vm.base_mac = "080027D14C66"

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1024"]
    vb.customize ["modifyvm", :id, "--cpus", "1"]
    vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
    vb.customize ["modifyvm", :id, "--audio", "none"]
    vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
    vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
  end
end

Когда я запускаю команду vagrant up:

vagrant up --provider virtualbox

была показана следующая ошибка:

Сконфигурированная оболочка (config.ssh.shell) недействительна и не может правильно выполнять команды. Наиболее распространенной причиной этого является использование оболочки, недоступной в системе. Убедитесь, что вы используете полный путь к оболочке и что оболочка может выполняться пользователем SSH.

Несмотря на ошибку, я все еще могу vagrant ssh попасть в коробку. Однако я не могу корректно выключить машину с помощью vagrant halt. Он покажет ту же ошибку, что и выше, и вообще не выключится.


person Osh Mansor    schedule 26.02.2016    source источник


Ответы (1)


Исправление было простым, так как это была совершенно нубская ошибка с моей стороны. В Vagrantfile вы должны удалить все части, сгенерированные при выполнении команды vagrant init, за исключением двух строк в самом верху. Затем вставьте предложенные под этими двумя строками. Полный Vagrantfile должен выглядеть следующим образом:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.guest = :freebsd
    config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
    config.vm.box = "freebsd/FreeBSD-10.2-STABLE"
    config.ssh.shell = "sh"
    config.vm.base_mac = "080027D14C66"

    config.vm.provider :virtualbox do |vb|
      vb.customize ["modifyvm", :id, "--memory", "1024"]
      vb.customize ["modifyvm", :id, "--cpus", "1"]
      vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
      vb.customize ["modifyvm", :id, "--audio", "none"]
      vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
      vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
    end

    config.vm.network "private_network", ip: "192.168.33.10"
end

Что я сделал неправильно, так это вложил этот блок Vagrant.configure("2") do |config| в автоматически сгенерированный.

person Osh Mansor    schedule 27.02.2016