Kesalahan shell yang dikonfigurasi tidak valid saat menjalankan kotak gelandangan FreeBSD resmi

Saya mencoba menjalankan kotak gelandangan FreeBSD resmi dengan menggunakan:

vagrant init freebsd/FreeBSD-10.2-STABLE

Dan setelahnya, modifikasi Vagrantfile saya berdasarkan instruksi di https://forums.freebsd.org/threads/52717/ dengan menambahkan baris berikut:

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

Ketika saya mengeluarkan perintah vagrant up:

vagrant up --provider virtualbox

kesalahan berikut ditampilkan:

Shell yang dikonfigurasi (config.ssh.shell) tidak valid dan tidak dapat menjalankan perintah dengan benar. Penyebab paling umum dari hal ini adalah penggunaan shell yang tidak tersedia di sistem. Harap verifikasi bahwa Anda menggunakan jalur lengkap ke shell dan bahwa shell dapat dieksekusi oleh pengguna SSH.

Terlepas dari kesalahannya, saya masih bisa vagrant ssh masuk ke dalam kotak. Namun, saya tidak dapat mematikan mesin dengan baik menggunakan vagrant halt. Itu akan menunjukkan kesalahan yang sama seperti di atas dan tidak mati sama sekali.


person Osh Mansor    schedule 26.02.2016    source sumber


Jawaban (1)


Perbaikannya sederhana karena ini merupakan kesalahan yang sepenuhnya noob di pihak saya. Di Vagrantfile, Anda harus menghapus semua bagian yang dihasilkan saat menjalankan perintah vagrant init kecuali dua baris di bagian paling atas. Kemudian tempelkan yang disarankan di bawah dua baris tersebut. Vagrantfile lengkapnya harus seperti berikut:

# -*- 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

Kesalahan yang saya lakukan adalah menyarangkan blok Vagrant.configure("2") do |config| ini di dalam blok yang dibuat secara otomatis.

person Osh Mansor    schedule 27.02.2016