Vagrant – box化のお作法

Vagrant – box化のお作法

はじめに

このページで得られるもの

自分の開発環境を共有できる状態にする方法について

前提

  • 既にVagrantの環境が整っていること(インストールしてログインできる状態)

手順

日本語化に必要なパッケージ関連をインストール

### 日本語関連のパッケージをまとめてインストールする
# sudo 管理者権限で実行(vagrantユーザはパス無しで実行可能)
# -y 自動でyes応答する
$ sudo yum -y groupinstall "Japanese Support"
 
### マニュアルの日本語化
$ sudo yum -y install man-pages-ja

ロケールを変更

### 使用できるロケールを確認する
# ロケールとは、言語や国・地域ごとに異なる単位、記号、日付、通貨の表記規則のこと
$ locale -a | grep ja_JP.utf8
# -a 利用可能のロケールをすべて表示する
ja_JP.utf8
# 出力されたらロケールがあるのでOKです。
# 出力されなかった場合は下記で追加
$ sudo localedef -f UTF-8 -i ja_JP ja_JP.utf8
# -f 文字コードを指定
# -i localeを指定

設定ファイルの修正

### 設定ファイルを修正
$ sudo vi /etc/sysconfig/i18n
# LANG="en_US.UTF-8" # コメントアウト
LANG="ja_JP.utf8" # 追加
SYSFONT="latarcyrheb-sun16"

タイムゾーンを変更

### タイムゾーンファイルをコピーする
$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
 
### システムクロック変更
$ sudo vi /etc/sysconfig/clock
# ZONE="UTC" # コメントアウト
ZONE="Asia/Tokyo" # 追加

box化前の最適化

### logディレクトリ削除(httpd以外) ※apacheの起動を妨げない為
$ cd /var/log
$ sudo ls -a | grep -v -E "^\.$|^\.\.$|^httpd" | xargs rm -rf  # httpdフォルダ以外削除
 
### tmpディレクトリの中身削除
$ sudo rm -fr /tmp/*
 
### yumのキャッシュ削除
$ sudo yum clean all
 
### 0埋め
# これをやると仮想ハードディスクの未使用領域をゼロ埋めし、box容量が小さくなる
$ sudo dd if=/dev/zero of=zero bs=4k
 
### 作られたファイルを削除する
$ sudo rm zero
 
### コマンドヒストリー削除
$ history -c
# -c コマンド履歴を削除
 
### 仮想環境をシャットダウン
$ sudo shutdown -h now

box化

念のため、vagrant上でも起動を落とす

$ vagrant halt
$ vagrant package [vm名] --output [名前.box] # box化!