なんかてきとうに

わりと個人的な忘備録的ですよ。

Windows Vagrant VirtualBoxでCentOS7なbase boxとかつくってみたはなし

やり方は本家のマニュアル見ましょう。

  1. vagrantのインストール。
    インストール後、pathが通ってなければ通しましょう。
  2. sshのインストール
    msys2とかMinGWとかcygwinとかなんでも(pathを通しましょう)
    注意)msys2とかcygwinからwindowsvagrantを使うときは
    .bash_profile とかに export VAGRANT_DETECT_OS=cygwin
    とやっておかないとttyありませんみたいに言われます。
  3. VirtualBoxのインストール。
  4. VirtualBoxへのCentOS7インストール
    HW設定にて オーディオとUSBサポートを無効
    名前をたとえばCentOS7に
    rootのパスワードは vagrant
    ユーザ vagrant パスワード vagrant でユーザを作る
  5. 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
  6. 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
  7. box化
    vagrant package --base CentOS7(VirtualBoxでつけた名前)
    package.box という名前で作成される
  8. vagrantにとりこみ (ここではbaseにしてるけど任意の名前にできる)
    vagrant add box base package.box
  9. vagrantで使ってみる
    適当なディレクトリで
    vagrant init (add box でbase以外を指定した場合はここにその名前を入力)
    vagrant up
  10. 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ユーザでやっているっぽいです。