Vagrant: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
Line 32: Line 32:
1a) link our grassdata from local to virtual machine:
1a) link our grassdata from local to virtual machine:


$ sshfs -F ssh-config /opt/grassdata vagrant@grass-gis-vagrant:grassdata
Uncomment lines bellow in the Vagrantfile and define 'grassdata_dir' to point to your GRASS data directory on local machine:
 
    grassdata_dir = "/opt/grassdata"                                                                                                                                                         
    host.vm.synced_folder grassdata_dir, "/home/vagrant/grassdata" 
 
Then reload your virtual machine to reflect the synced GRASS data directory:
 
  $ vagrant reload


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

Revision as of 11:14, 16 February 2016

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

Note: it's good idea to store ssh configuration for virtual machine to the file which we can use for scp and other similar commands:

 $ vagrant ssh-config > ssh-config

1) First, we need to get our GRASS data to the virtual machine, there are several options:

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

Uncomment lines bellow in the Vagrantfile and define 'grassdata_dir' to point to your GRASS data directory on local machine:

   grassdata_dir = "/opt/grassdata"                                                                                                                                                          
   host.vm.synced_folder grassdata_dir, "/home/vagrant/grassdata"  

Then reload your virtual machine to reflect the synced GRASS data directory:

 $ vagrant reload

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

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

1c) download on virtual machine 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