LoginSignup
1
0

More than 5 years have passed since last update.

CentOS7.4のvagrantbox作成

Last updated at Posted at 2018-05-30

はじめに

CentOS7のvagrantboxを作成したときの備忘録。
なお、以下、参考URLとほぼほぼ同じ内容になります。

Vagrant box 作成手順(CentOS 6.7)

CentOS7の綺麗なboxを自作する

環境情報

今回の作業環境は以下の通りです。

  • Windows 10 (64bit / Home)
  • VirtualBox 5.26
  • Vagrant 2.0.2

準備したISOファイル

  • CentOS-7-x86_64-DVD-1708.iso

仮想マシンの作成

VirtualBoxでベースになる仮想マシンを作成

1.メニューから「仮想マシン」->「新規」を選択

2.名前とオペレーティングシステム、メモリーサイズ、ハードディスクに次の内容を入力し作成ボタンを押す

項目 設定内容
名前 CentOS-7.4-x86_64 ※任意
タイプ Linux
バージョン Red Hat (64-bit)
メモリーサイズ 2048MB
ハードディスク 仮想ハードディスクを作成する

3.ファイルの場所、ファイルサイズ、ハードディスクのファイルタイプ、物理ハードディスクにあるストレージに次の内容を入力し作成ボタンを押す

項目 設定内容
ハードディスクのファイルタイプ VDI (VirtualBox Disk Image)
物理ハードディスクにあるストレージ 可変サイズ
ファイルの場所 CentOS-7.4-x86_64 ※デフォルト値のまま
ファイルサイズ 20.33GB ※任意

仮想マシンの初期設定

仮想マシンの不要なハードウエアを無効にします。

1.仮想マシンCentOS-7.4-x86_64を右クリックし設定を選択

2.システムタブを開き、起動順序にあるフロッピーのチェックを外す

3.オーディオタブを開き、オーディオを有効化のチェックを外す

4.USBタブを開き、USBコントローラーを有効化のチェックを外す

5.OKを押す

ポートフォワーディングの設定

1.仮想マシンCentOS-7.4-x86_64を右クリックし設定を選択

2.ネットワークタブを開き、アダプター 1にある高度をクリックし、ポートフォワーディングを押す

3.右にある+を押し、名前にssh、ホストIPに127.0.0.1、ホストポートに2222、ゲストポートに22を設定しOKを押す

4.OKを押す

仮想マシンにCentOS7のインストールメディアを設定し起動する

仮想マシンにCentOS7のインストールメディアを設定し起動します。

1.仮想マシンCentOS-7.4-x86_64を右クリックし設定を選択

2.ストレージタブを開き、コントローラー: IDEにぶら下がっているを選択

3.光学ドライブの右にあるCDマークのアイコンをクリックし、仮想光学ディスク・ファイルを選択

4.予めダウンロード済みのCentOS-7-x86_64-DVD-1708.isoを選択

5.OKを押す

6.仮想マシンCentOS-7.4-x86_64を右クリックし起動->通常起動を選択

CentOS7のインストール

1.Install CentOS 7を選択

2.インストール時に使用する言語で日本語を選択

3.システムインストール先をクリックし、ファイルシステムを好みのレイアウトに変更する。今回は何も設定せずに完了を押下。

4.インストールを開始する。なお、特に設定をしないと以下の状態。

項目 設定内容
日付と時刻 アジア/東京 タイムゾーン
キーボード 日本語
言語サポート 日本語
インストールソース ローカルメディア
ソフトウェアの選択 最小限のインストール
KDUMP 有効
ネットワークとホスト名 接続していません
SECURITY POLICY プロファイルが選択されていません

5.インストール中に、ROOTパスワードを設定する。パスワードはvagrantとする。

6.再起動を行う。

SELinuxの無効化

# setenforce 0
# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

ネットワークの起動設定

1.インタフェース名の確認

# nmcli c s
NAME    UUID                                  TYPE            DEVICE
enp0s3  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  802-3-ethernet  --

2.ONBOOTをyesにする、と同時にネットワークにもDHCPで接続される。

# nmcli c m enp0s3 connection.autoconnect yes

vagrantユーザの追加

ユーザvagrantを作成し、パスワードをvagrantとする。
sudoersの設定も行う。

# groupadd -g 500 vagrant
# useradd -g vagrant -u 500 vagrant
# passwd vagrant
※パスワードは「vagrant」とする

# vi /etc/sudoers.d/vagrant
vagrant ALL=(ALL) NOPASSWD: ALL

sshでログイン

ここからはターミナルソフトで接続して作業を行う。

ログイン情報

項目
ホスト 127.0.0.1
ポート 2222
ユーザ vagrant
パスワード vagrant

Vagrant sshの設定

$ install -m 0700 -d $HOME/.ssh
$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > $HOME/.ssh/authorized_keys
$ chmod 600 $HOME/.ssh/authorized_keys

GuestAdditionsのインストール

GuestAdditionsインストール準備

$ sudo yum -y install epel-release
$ sudo yum -y install bzip2 gcc make kernel-devel kernel kernel-headers dkms gcc-c++
$ sudo reboot

Guest Addions CD imageのセット

VirtualBoxのゲストコンソールウインドウをアクティブにした際のメニューデバイスからInsert Guest Additions CD イメージの挿入を選択

GuestAdditionsのインストール

ターミナルに戻り、次のコマンドを実行する。

$ sudo mount -r /dev/cdrom /mnt
$ sudo /mnt/VBoxLinuxAdditions.run

Guest Addions CDのアンマウント

$ sudo umount /mnt

インストール完了後、仮想マシンのメニューから、「デバイス」⇒「光学ドライブ」⇒「仮想ドライブからディスクを除去」を選択します。

ボックスサイズの最小化

不要なものを消します。
ddしてrmするのは、ボックスを小さくするおまじない。

$ sudo rm /root/.bash_history
$ sudo yum clean all
$ sudo rm -fr /var/log/*
$ sudo rm -fr /tmp/*
$ sudo dd if=/dev/zero of=/0 bs=4k
$ sudo rm /0
$ history -c

シャットダウン

$ sudo shutdown -h now

boxの作成

コマンドプロンプトを起動します。

# box 作成用のフォルダ(任意)に移動します。
> cd xxxx(box 作成用のフォルダ)

# box を作成します。
# --base:作成対象の仮想マシン名、--output:出力 box ファイル名
> vagrant package --base CentOS-7.4-x86_64 --output CentOS-7.4-x86_64.box
==> CentOS-7.4-x86_64: Exporting VM...
==> CentOS-7.4-x86_64: Compressing package to: C:/xxxx/CentOS-7.4-x86_64.box

# 作成した box ファイルを確認します。
> dir
...
YYYY/MM/DD  hh:mm       671,008,648 CentOS-7.4-x86_64.box
...

作成した box の動作確認

boxの起動確認
# 作成した box を vagrant に登録します。
# --name:vagrant への登録名、xxxx.box:作成した box ファイル名(パス)
> vagrant box add --name CentOS-7.4-x86_64 CentOS-7.4-x86_64.box

# 登録した box を確認します。
> vagrant box list
CentOS-7.4-x86_64   (virtualbox, 0)

# Vagrantfile を作成します。
> vagrant init CentOS-7.4-x86_64

# box を起動します。
> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'CentOS-7.4-x86_64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: CentOS-74_default_1526565802116_2360
==> 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:
    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:/xxxxxxxx/CentOS-7.4



# 起動した box に ssh で接続します。
> vagrant ssh

以上になります。


■参考URL

Vagrant box 作成手順(CentOS 6.7)

CentOS7の綺麗なboxを自作する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0