Virtualbox

Vagrant boxのGuest additionsをアップデートする方法

2014-11-05 Virtualbox, 環境構築

久々の技術ネタの投稿

最近、Vagrantを多用しているがちょいちょい以下のようなエラーにぶち当たる

Failed to mount folders in Linux guest. This is usually because
the “vboxsf” file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

これに対する解決方法を自分用にメモ

現在のvbguestのバージョン確認

> vagrant vbguest –status

Vagrantのプラグイン vagrant-vbguestをインストールする

参考: https://github.com/dotless-de/vagrant-vbguest
以下のコマンドでインストール可能

> vagrant plugin install vagrant-vbguest
Installing the ‘vagrant-vbguest’ plugin. This can take a few minutes…
Installed the plugin ‘vagrant-vbguest (0.10.0)’!

Vagrant Upする(起きてないとアップデートできない)

> vagrant up

アップデート実行

> vagrant vbguest

vbguestのバージョンを再確認

> vagrant vbguest –status

更新されていれば完了!

Chef-soloを勉強中 その1

2013-07-13 Virtualbox, 環境構築 ,

サーバーの自動構築ツール、Chefが熱いらしいのでちょっと勉強して見ることにした。
せっかくなので、自分が勉強していく記録をとってみる。

まずは、環境構築

Virtual Boxインストール後、CentOSのイメージをダウンロードして利用しはじめることにする。
イメージダウンロード元; http://virtualboxes.org/images/centos/
今回は、CentOS 6.0 base x86を利用した。

落としてきたイメージを解凍後、Virtualboxでイメージを起動するまえに設定からホストオンリーネットワークを有効にしておく。

ログイン後、VirtualBoxのイメージが独特なので以下のような環境設定をおこなった。

パスワード変更;
# passwwd

キーボードの一時的なUS化
# loadkeys us
キーボード恒久的な設定変更
# vi /etc/sysconfig/keyboard

KEYTABLE=”us”
MODEL=”pc105+inet”
LAYOUT=”us”
KEYBOARDTYPE=”pc”

ホストオンリーネットワーク側のNICの設定
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=”eth1″
BOOTPROTO=”STATIC”
NM_CONTROLLED=”yes”
ONBOOT=”yes”
IPADDR=”192.168.56.10″
NETMASK=”255.255.255.0″
NETWORK=”192.168.56.0″

Gitのインストール
# yum install git

ここから、本格的にChefを使うための環境設定

Chefのインストール
# curl -L http://www.opscode.com/chef/install.sh | bash

これだけでChefはインストールできた。

あとは、簡単なパッケージインストール等を試してみた。

リポジトリのひな形取得

#  git clone git://github.com/opscode/chef-repo.git

knife の初期設定

# knife configure
– ひとまずすべてデフォルトのままで

クックブックの作成
# cd chef-repo
# knife cookbook create hello -o cookbooks

作成の確認
# ls -la cookbooks/hello/

レシピの編集
# vi cookbooks/hello/recipes/default.rb

JSONファイルを用意
# vi localhost.json

// localhost.json
{
“run_list” : [
“recipe[hello]”
]
}

設定ファイルsolo.rbを作成

# vi solo.rb

file_cache_path “/tmp/chef-solo”
cookbook_path [“/root/chef-repo/cookbooks”]

Chef soloコマンドの実行
# chef-solo -c solo.rb -j ./localhost.json

パッケージのインストール
# vi cookbooks/hello/recipes/default.rb

package “zsh” do
action :install
end

Chef-soloを実行

複数パッケージのインストール
# vi cookbooks/hello/recipes/default.rb

%w{zsh gcc make readline-devel}.each do | pkg |
package pkg do
action :install
end
end

とりあえず、パッケージをインストールするくらいの作業を試せたところで今日はここまで。