Windows Vagrant VirtualBoxでCentOS7なbase boxとかつくってみたはなし
やり方は本家のマニュアル見ましょう。
- vagrantのインストール。
インストール後、pathが通ってなければ通しましょう。 - sshのインストール
msys2とかMinGWとかcygwinとかなんでも(pathを通しましょう)
注意)msys2とかcygwinからwindowsのvagrantを使うときは
.bash_profile とかに export VAGRANT_DETECT_OS=cygwin
とやっておかないとttyありませんみたいに言われます。 - VirtualBoxのインストール。
- VirtualBoxへのCentOS7インストール
HW設定にて オーディオとUSBサポートを無効
名前をたとえばCentOS7に
rootのパスワードは vagrant
ユーザ vagrant パスワード vagrant でユーザを作る - VirtualBox Guest Additionsのインストール
yum install bzip2
yum install gcc
yum install kernel-devel-(バージョン).x86_64
yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarc.rpm
yum install dkms
メニューのデバイスからGuest Additions CDイメージの挿入
mount -r /dev/sr0 /mnt/
/mnt/VBoxLinuxAdditions.run - CentOS7の設定
sudoers 行追加
(1 vagrant ALL=(ALL) NOPASSWD: ALL )
(2 Defaults:vagrant !requiretty)
(3 Defaults:root !requiretty)
vagrantユーザへ authorized_keys配置。
chmod 700 .ssh
chmod 600 authorized_keys
いらないファイルの削除
/etc/sysconfig/network-scripts/ifcfg-e*
/etc/udev/rule.d/70-persistent-net.rules - box化
vagrant package --base CentOS7(VirtualBoxでつけた名前)
package.box という名前で作成される - vagrantにとりこみ (ここではbaseにしてるけど任意の名前にできる)
vagrant add box base package.box - vagrantで使ってみる
適当なディレクトリで
vagrant init (add box でbase以外を指定した場合はここにその名前を入力)
vagrant up - vagrantfile
config.vm.network "private_network", ip: "192.168.565.10"
とかやるとIPアドレス固定できる
(追記 sudoersへ3行目の追加。
vagrantfileに
config.vm.provision "shell", inline: <<-SHELL
sudo rpm -i /vagrant/some.rpm
SHELL
みたいなことをやったらttyがないとsudoできませんと怒られました。
provisionはrootユーザでやっているっぽいです。