VagrantをWindows 10にインストールしたので、仮想マシンで個人的なローカル開発環境を作成できます。 Vagrantについて読んだことのすべては、複数のシステムをスピンアップし、NATポートフォワーディングでそれらの間の通信をテストすることさえできると言っています。しかし、最初に、残りの作業を進める前に、1つの開発環境仮想マシンを作成したいだけです。
このSitePointチュートリアルに従って、VirtualBox、Vagrant、PuTTY、およびPuTTYGenをインストールしました: https://www.sitepoint.com/getting-started-vagrant-windows/ 。次に、C:ドライブにvagrantプロジェクトフォルダーを作成し、vagrant init
を実行し、Vagrantfile
を削除し、最後にvagrant init ubuntu/trusty64
を削除しました。それからvagrant up
をしましたが、プロセスはエラーで失敗しました:
VagrantはVirtualBox共有フォルダーをマウントできませんでした。これは通常、ファイルシステム「vboxsf」が利用できないためです。このファイルシステムは、VirtualBox Guest Additionsおよびカーネルモジュールを介して利用可能になります。これらのゲスト追加がゲストに適切にインストールされていることを確認してください。これはVagrantのバグではなく、通常、Vagrantボックスの欠陥が原因です。コンテキストの場合、試行されたコマンドは次のとおりです。
mount -t vboxsf -o uid = 1000、gid = 1000 vagrant/vagrant
コマンドからのエラー出力は次のとおりです。
: そのようなファイル、又はディレクトリはありません
Windowsコマンドラインのスクリーンショットを次に示します。
そして、ここにテキスト版があります:
C:\vagrant\sitepoint-test-2017-02-05>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> default: have version '20160602.0.0'. The latest is version '20170202.0.0'. Run
==> default: `vagrant box update` to update.
==> default: Setting the name of the VM: sitepoint-test-2017-02-05_default_1486399403587_55255
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (Host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => C:/vagrant/sitepoint-test-2017-02-05
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:
mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
The error output from the command was:
: No such file or directory
OS: Microsoft Windows [Version 10.0.14393]
VirtualBox Version: 4.3.10 r93012
GuestAdditions Version: ???
Vagrant Version: 1.9.1 (Latest)
PuTTY Version: 0.67
PuTTYGen Version: 0.67
Vagrant:
- vagrant-share (1.1.6, system)
- vagrant-vbguest (0.13.0)
この投稿 は私の研究で最も有望だと思われました。
残念ながら、提供された解決策も提供されたリンクもどれも問題を解決しませんでした。私はすでにたくさんのことを試しましたが、私はシステム管理者ではありません(これをトラブルシューティングするために必要なスキルセットだと思います)。 2013/2014の「解決策」の多くが、最近では機能しなくなったことが最近示されていることは特に厄介でした。これらのソリューションは、シンボリックリンクが機能しないこと、vagrant-vbguestなどのプラグインをインストールすること、およびvboxの追加が何かに一致しないことと関係しています。私はそのすべてを本当に理解していませんが、ベストを尽くしました。まだ解決していない私がすでに試したものは次のとおりです。
vagrant plugin install vagrant-vbguest
。 Vagrantはインストールされたプラグインを表示しますが、vagrant up
で同じエラーが表示されます。
実用的なソリューションを提供しなかったこの問題の調査で読んだリンクのリスト。
問題はVagrantではなくVirtualBoxにあると思われます。これは本当ですか?
これを修正してチュートリアルを続行するにはどうすればよいですか?
Stack Overflowで回答されたVagrantの質問は2014年頃から大幅に減少しているようです。この理由は何ですか? Vagrant/VirtualBoxは「ベストプラクティス」と見なされなくなりましたか?ユーザーがVagrantの質問を無視するように、より良い解決策はありますか?
繰り返しますが、私はシステム管理者ではありませんが、技術的に精通しており、技術的な指示に従うことができます。
この問題はVirtualBox 5.1.18で解決されています。
VirtualBoxをダウングレードするか、ファイル内の行を編集できます。
私の設定では、これは次の行206です。
C:\ HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.9.2\lib\vagrant\util\platform.rb
私のホストマシンで。
これを行ったところ、Windows 10で問題なく動作しました! 206行目で行ったことを追加したいと思います。
編集前: "\\?\" + path.gsub( "/"、 "\")
編集後:path.gsub( "/"、 "\")
vagrant plugin install vagrant-vbguest
これは私にはうまくいきませんでした、vagrant 1.9.2と互換性がないようです。仮想ボックスの最新バージョン(5.1.16)をアンインストールし、最新バージョンのvagrant 1.9.2とHomesteadでバージョン5.1.12をインストールしましたわたしにはできる。
Guest AdditionsはVirtualBoxのバージョンと互換性がありません。 VirtualBox Guest Additionsを自動更新すると、おそらく関連する問題が解決されます。
vagrantプラグインインストールvagrant-vbguest
私はこれらのスタックでこの問題を経験しました:
複数の原因が考えられます。
vagrant plugin install vagrant-vbguest
を実行してゲスト追加のバージョンを更新できます私は同じ問題を抱えていましたが、最新ではなかったのはゲストの追加だけでした...
UDPATE:Windows上のNFSを使用したVagrantのバグ(ポイント2)はバージョン5.1.18で修正され、バージョン5.1で再表示されます。 20。バージョン5.2で再び修正されました。
5.1.16からVirtual Box 5.1.14へのダウングレードは正常に機能します。
Vagrant 1.9.4とVirtualBox 5.1.20を使用しています。ここで解決策はありませんでした。
ゲストの追加の自動更新を無効にすることで、ようやく問題を回避できました。
Vagrant.configure("2") do |config|
config.vbguest.auto_update = false
[...]
end
それは解決策というよりは、ハッキーな回避策です。私はまだ実際の問題が何であるかをまだ本当に知りませんが、私はそれがこれに関連していると思います: https://www.virtualbox.org/ticket/1667
Vboxのバグです。修正する解決策があります。
Vboxゲストへのログイン:デフォルトでは、パスワードは(vagrant/vagrant)です。
su
ln -sf /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
シャットダウン
ローカルマシンcmdプロンプトからcmdを実行します。
vagrant up
それが動作します。
Virtualbox 5.1.20にもリグレッションがあります
Vagrant issue: https://github.com/mitchellh/vagrant/issues/8502
Virtualboxの問題: https://www.virtualbox.org/ticket/16670#comment:4
現時点での修正は、機能したVirtualbox 5.1.18にロールバックすることです。
私は同様の問題を抱えていますが、ヘッダーが一致しない場合はチェックしてから、以下のコマンドを実行します
CentOS:Sudo yum update && Sudo yum -y install kernel-headers kernel-devel
浮浪者のリロード
わたしにはできる。
概要
同期/共有フォルダーが突然機能しなくなるという問題は、VirtualBox Guestの追加カーネルモジュールが読み込まれないことです。
この問題は、VirtualBoxバージョンに直接関係していません!過去にそうだったかもしれませんが、次の説明はこの問題の発生の約95%をカバーしています。
これは主に、Linuxカーネルの自動更新、たとえば仮想マシンでcronapt
を実行していることが原因です。
カーネルが新しいバージョンを取得した場合、ゲスト追加用のdkmsモジュールは、仮想マシンの再起動後に再起動できません。サービスファイル/etc/init.d/virtualbox-guest-utils
は、カーネルモジュールが
/lib/modules/`uname -r`
vboxguest
およびvboxsf
のフォルダー。
ゲスト追加の初期設定時のカーネルバージョンを次のようにします。1.2.
更新されたカーネルのバージョンは次のとおりです。1.2.4
uname -r
は1.2.4
になりますが、dkmsモジュールはカーネルバージョン1.2.3
でインストールされました。これにより、virtualboxゲスト追加サービスは実行を中止し、modprobe xxxx failed....
のようなエラーメッセージで失敗します。
必要なのは、新しいカーネルバージョンと共にカーネルのヘッダーをインストールして、virtualboxゲスト追加用のdkmsモジュールを自動的に再構築できるようにすることです。
幸いなことに、最新バージョンのカーネルヘッダーをインストールできるメタパッケージがあります。
異なるLinuxフレーバーで異なる名前が付けられているようです。ここにそれらの小さなリストがあります。
Sudo apt install linux-headers-AMD64
Sudo apt install linux-headers-generic
@Jayen Chondigaraへの送信
Sudo yum -y install kernel-headers kernel-devel