Vagrant

From GRASS-Wiki
Jump to navigation Jump to search

This page shows how to use Vagrant together with GRASS GIS. The GRASS source code contains customized Vagrantfile. This highly simplifies the vagrant usage.

Dependecies:

apt-get install vagrant virtualbox

Note: '$' shows commands to be entered from local machine, '#' from vagrant's virtual machine

First of all we download GRASS source code from SVN:

$ svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk_vagrant
$ cd grass_trunk_vagrant

We start new vagrant instance by:

$ vagrant up

The command creates new vagrant virtual machines, downloads all dependecies, and compiles GRASS on this machine. You can connect to this machine by:

$ vagrant ssh

Enjoy!

Usage

The common usage may be:

1) get data to your virtual machine, first we create empty directory for grassdata on virtual machine

$ vagrant ssh -c "mkdir grassdata"

You have several options:

1a) link your grassdata from local to virtual machine:

$ vagrant ssh-config > ssh-config
$ sshfs -F ssh-config vagrant@grass-gis-vagrant:~/grassdata /opt/grassdata

1b) copy your grassdata from local to virtual machine:

$ vagrant ssh-config > ssh-config
$ scp -r -F ssh-config /opt/grassdata/gismentors grass-gis-vagrant:grassdata

1c) download sample grassdata from Internet

$ vagrant ssh
# mkdir grassdata 
# wget https://grass.osgeo.org/sampledata/north_carolina/nc_spm_08_grass7.tar.gz
# tar xzf nc_spm_08_grass7.tar.gz

2) start GRASS from virtual machine

# grass71

3) To halt running virtual machine type:

$ vagrant halt

How to update GRASS installation

First of all, update GRASS source code from SVN:

$ svn up

To update your GRASS installation in vagrant (make && make install):

$ vagrant provision

If you want to re-compile GRASS from scratch (make distclean && configure && make && make install) you need to destroy your virtual machine and create new one:

$ vagrant destroy -f
$ vagrant up