Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

It is possible to update modules from the command line without the graphical user interface. This is useful in headless environments. Only modules which are already installed can be updated. It is not possible to install new modules. For doing this the SNAP executable needs to be configured properly. This executable is located in the bin directory of the installation folder of SNAP. The name is depends on the operating system you are working with. On Unix systems it is named snap.sh, on Mac OS X the name is snap.command and on Windows, it depends on the bitness of your system. On a 32Bit windows system, the executable is named snap.exe and on an a 64Bit system it is called snap64.exeIn the following commands snap is used as a place holder for the executable file. You need to replace it with the appropriate one for you your system.


Note
titleNote

Currently, the commands hang after they are actually executed. You need to abort them by CTRL+C. See also SNAP-927.

Many thanks to Felix Glaser. He provided a bash script to work around this problem:

Given one has pkill installed (should be available in macOS most Linux distros by default, not sure about other BSDs though) and uses the JRE that comes with SNAP, a very crude workaround is:


Code Block
languagebash
snap --nosplash --nogui --modules --update-all 2>&1 | while read -r line; do
    echo "$line"
    [ "$line" = "updates=0" ] && sleep 2 && pkill -TERM -f "snap/jre/bin/java"
done

This will terminate the Java process the SNAP update launched when the line "updates=0" is printed.


List available parameters

...

In order to get a list of all modules and the status if their there is an update available you can call

...

In order to update just one or multiple specific module modules you can call:

snap --nosplash --nogui --modules --update org.esa.snap.snap.ndvi org.esa.snap.snap.envisat.reader


Install a module

...

In order to install a new module file or from the repository:

Note
Currently not working with file path - is under investigation. (SNAP-835)

...

On Unix: <USER_HOME>\.snap\config\Preferences\org\netbeans

In both cases, the file must be named core.properties.

...

The above shows a not working example, but it shows at least some of the configuration options. A working example can be created by using the GUI once (maybe on an other another machine) and do the configuration. Afterwards pickup pick-up the file and use it as your template.
One word regarding the password. The first time the configuration is used the password is read and removed from this property file. Instead, it is stored in a Keyring. So it is not publicly visible anymore.

...