Software customization is performed on a server (master). At first log in locally using keyboard or via SSH protocol from controlling machine. In virtual mode use vagrant ssh command, see login to GIS.lab.

Before any modification it is recommended to backup current client’s root and image.

$ sudo tar cjf /mnt/backup/root-`date -I`.tar.bz2 /opt/gislab/system/clients/desktop/root
$ sudo cp -a /opt/gislab/system/clients/desktop/image /mnt/backup/image-`date -I`

Commands in client root can be performed by gislab-client-shell administration command. To enter client’s root in interactive mode -i must be given.

$ sudo gislab-client-shell -i

Software (un)installation

This section shows how to easily install or uninstall new software on GIS.lab clients.

Example with uninstalling Geany software is shown below.

# display geany package status details
$ dpkg -s geany
Status: install ok installed
...
# check geany version
$ geany --version
geany 1.27 (built on 2016-04-17 with GTK 2.24.30, GLib 2.48.0)
# uninstall geany
$ sudo apt remove geany

Another example demostrates Vim editor installation process below.

$ dpkg -s vim
dpkg-query: package 'vim' is not installed and no information is available
...
$ sudo apt update
$ sudo apt install vim

When all desired changes are done the client’s root is exited by exit command.

$ exit

Then new client’s image must be generated from modified client’s root by gislab-client-image administration command.

$ sudo gislab-client-image

Note

note Main panel in client Desktop layout is generated when user log in firstly, so changes related to panel are displayed only for new user.

Custom software compilation

Let’s see example custom installation of latest development GDAL version from source code.

At first interactive shell in GIS.lab client’s root must be entered.

$ sudo gislab-client-shell -i

Then compilation and installation of GDAL can be executed.

$ apt -y install g++ subversion
$ cd /tmp
$ svn checkout https://svn.osgeo.org/gdal/trunk/gdal gdal
$ cd gdal
$ ./configure
$ make
$ make install

After client’s root is left by exit command, then image should be updated by sudo gislab-client-image. Continue with creation of new user booting with latest GDAL version.

Important

imp Do not forget to set LD_LIBRARY_PATH variable and configure dynamic linker run-time bindings on client before running GDAL commands.

$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
$ sudo ldconfig
$ /usr/local/bin/ogr2ogr --version
GDAL 2.3.0dev, released 2017/99/99