Table of Contents

PC Software

Vargant - How to use Vagrant



Introduction

What is Vargant

Vagrant is a tool for building complete development environments.


Where do you search Box Files?

Vagrant Cloud

Vagrantbox.es


Installation

Windows

  1. Install VirtualBox https://www.virtualbox.org/
C:\HashiCorp\Vagrant


Vagrant Configuration

Change the download location of the box file

Default down load location is C:\Users\user01\.vagrant.d\boxes\.

If you want to change the download destination of the box file, set the environment variable VAGRANT_HOME.

Environment variable :  VAGRANT_HOME
value                : P:\vm_img\.vagrant.d


Commands

How to check Vagrant Version

PS C:\Users\user01> vagrant -v
Vagrant 2.1.2

Box Commands

vagrant box add BOXFILE
vagrant box add BOXNAME BOXFILE
vagrant box add IMPORT-NAME package.box
vagrant box add IMPORT-NAME https://xxxxxx/xxxxxx
Example
vagrant box add centos/7 ← download from Atlas
vagrant box add CentOS-6.6-minimal-ja package.box ← Import from local box file
vagrant box add sample https://atlas.hashicorp.com/ghfdjk/boxes/centos7/xxxvirtualbox.box
Import box a file
vagrant box list List BOX
vagrant box remove BOXFILE delete box file
vagrant init box
Example
vagrant init centos/7
vagrant init mycentos7
Create Vagrantfile
vagrant package
vagrant package VMNAME
vagrant package VMNAME --output VNNAME.box
vagrant package --base NAME
Example
vagrant package mycentos7 --output mycentos7.box
Create Box Files. (package.box)

VM Commands

vagrant up start VM from Vagrantfile
vagrant reload restart VM
vagrant status List VM with start
vagrant global-status List all VM status
vagrant halt stop VM
vagrant destroy delete VM
vagrant ssh login with ssh


How to use vagrant

Download box and Start Up VM

> mkdir centos7
> cd centos7
centos7> vagrant init centos/7
                                   <-  Vagrantfile is created in this directory.

centos7> notepad Vagrantfile

centos7> vagrant up
centos7> vagrant status

If the specified Box is not registered, it will be automatically downloaded and added to the Box (vagrant box add)
Download to C:\Users\user01\.vagrant.d\boxes\

VMDK files is copied to C:\Users\user01\VirtualBox VMs\


How to Login GestOS

centos7> vagrant ssh
$ sudo su -
#
centos7> vagrant ssh-config 
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile P:/vm_img/vagrant/centos7b/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
Allow ssh with password authentication
cp -f /etc/ssh/sshd_config  /etc/ssh/sshd_config.`date -d '1day ago' +%Y%m%d`
sed -i "s/^PasswordAuthentication.*no/PasswordAuthentication\tyes/g" /etc/ssh/sshd_config
sdiff -s /etc/ssh/sshd_config  /etc/ssh/sshd_config.`date -d '1day ago' +%Y%m%d`
systemctl reload sshd


Halt VM

centos7> vagrant status
centos7> vagrant halt
centos7> vagrant status


Delete VM

centos7> vagrant status
centos7> vagrant destroy
centos7> vagrant status


Delete Boxs

centos7> vagrant box list
centos7> vagrant box remove centos/7




Download and use the box locally

Find the BOX file at the following site
https://app.vagrantup.com/boxes/search

For example, in the case of CentOS7, it becomes the following URL.
https://app.vagrantup.com/centos/boxes/7/versions/1905.1

By adding /providers/virtualbox.box to the end, you can download the box file for virtualbox.
https://app.vagrantup.com/centos/boxes/7/versions/1905.1/providers/virtualbox.box




How to Create box file

# ln -s -f /dev/null /etc/udev/rules.d/70-persistent-net.rules
# exit
centos]$ vagrant halt
centos]$ vagrant package

created package.box

Import my box file

~]$ mkdir centos7a
~]$ cd centos7a
centos7a]$ vagrant box add centos7a package.box
centos7a]$ vagrant box list
centos7a]$ vagrant init centos7a
centos7a]$ vagrant up
centos7a]$ vagrant ssh




Troubleshooting

Authentication failure. Retrying...

# vargrant up

    default: Warning: Authentication failure. Retrying...

Check Permission

/home/vagrant    700 or 755 or 711
/home/vagrant/ssh    700
/home/vagrant/ssh/authorized_keys  600    




Vargant - How to use Vagrant





PC Software