Commands

You may run gsm with commands and additional command-line parameters. This section describes the commands. Parameters are listed in section Command-Line Options. The general syntax is

./gsm [options] command [module1] [module2] ...

A command is required, only -h and -V work without one.

Read the command-line help for the full list of commands and command-line parameters

./gsm -h

The entries of a single command are shown by

./gsm -h commands install

alias

Syntax: gsm alias create|remove name

Manage gsm aliases. Aliases allow users to manage any number of installations using a single gsm instance. A new alias can be created as follows:

./gsm alias create toast
====================================================================
Package manager setup
====================================================================

This initializes the configuration of your package manager.
If you already made adjustments to the configuration file then your
current settings will be suggested as default values and may be
confirmed simply by pressing enter.
The configuration file is only written after the setup is completed
entirely.

SeisComP release [7]: 7
Operating system [rhel]: rhel
Operating system version [10]: 10
System architecture [x86_64]: x86_64
Do you want to use your private repository with gempa modules? Otherwise use the public SeisComP without gempa modules. [Y/n]: y
Username [xxx]: xxx
Password [xxx]: xxx
Repository URL [https://data.gempa.de/packages/xxx]: https://data.gempa.de/packages/xxx
Download dir [/home/sysop/install/gsm/packages]: /home/sysop/install/gsm/packages
Install path [/home/sysop/seiscomp-toast]: /home/sysop/seiscomp-toast
Data path [/home/data]: /home/data
Number of days before the license expires message is displayed:  [30]: 30
Do you want to validate the downloaded packages using gnupg?: [Y/n]: n
Do you want to backup the downloaded packages: [y/N]: n
Would you like to create a link to /home/sysop/.local/bin: [y/N]: y
The alias toast (gsm-toast) was created.
./gsm alias remove toast
Do you really want to remove the alias toast (gsm-toast)? [y/N]: y

check

Syntax: gsm check signature module1 [module2 … moduleN]

Checks the GPG signature for packages

./gsm check signature seiscomp
INFO          Verification successfully for file '/home/sysop/install/gsm/var/packages/seiscomp-7.3.1-rhel-10-x86_64.tar.gz'.

clean

Syntax: gsm clean dbcache|packages|backup|restore|all

Exactly one target is required.

Delete the sync folder

./gsm clean dbcache
CLEAN         dbcache ... OK: disk space saved: (/home/sysop/install/gsm/var/sync, 6.5 MiB)

Delete all downloaded files

./gsm clean packages
CLEAN         packages ... OK: disk space saved: (/home/sysop/install/gsm/var/packages, 13.8 GiB)

Delete all backup files

./gsm clean backup
CLEAN         backup ... OK: disk space saved: (/home/data/gsm/backup, 18.3 GiB)

Delete all restore files

./gsm clean restore
CLEAN         restore ... OK: disk space saved: (/home/sysop/install/gsm/.restore, 0 Bytes)

Delete dbcache + packages

./gsm clean all
CLEAN         dbcache ... OK: disk space saved: (/home/sysop/install/gsm/var/sync, 6.5 MiB)
CLEAN         packages ... OK: disk space saved: (/home/sysop/install/gsm/var/packages, 13.8 GiB)

do-release-upgrade

See Workflow: Upgrade Release

do-release-downgrade

See Workflow: Downgrade Release

hold

Syntax: gsm hold [module1 module2 … moduleN] | gsm hold files [file1 … fileN]

Sometimes it is useful to keep the version of a package fixed. This can be done by setting the package to hold.

Add packages to hold

./gsm hold seiscomp
INFO          Set package seiscomp on hold

Add files to hold

./gsm hold files ~/seiscomp/etc/global.cfg
INFO          Set file /home/sysop/seiscomp/etc/global.cfg on hold

info

Syntax: gsm info [short] [deps] [module1 module2 … moduleN]

Show installed modules

./gsm info
OS: rhel/10 (x86_64)
Install path: /home/sysop/seiscomp
Package DB path: /home/sysop/install/gsm/local

Installed packages  Version   Valid until  Updates until  Install date
------------------  --------  -----------  -------------  -------------------
gsm                 1.7.3     None         None           N/A
quakelink           2026.212  2027-01-01   2027-01-01     2026-08-05 07:18:17
scanloc             2026.204  2027-01-01   2027-01-01     2026-08-05 06:16:57
seiscomp            7.3.1     None         None           2026-08-05 07:18:51
seiscomp-tools      2026.175  None         None           2026-08-05 06:16:58
world-6             1.3       None         None           2026-07-24 07:19:22

Show installed modules (only package names)

./gsm info short
OS: rhel/10 (x86_64)
Install path: /home/sysop/seiscomp
Package DB path: /home/sysop/install/gsm/local

Installed packages: quakelink scanloc seiscomp seiscomp-tools world-6

Show detailed information about an installed module

./gsm info seiscomp
seiscomp
----------
Release          : 7
Version          : 7.3.1
Documentation    : https://docs.gempa.de/seiscomp/current
Architecture     : x86_64
Licenses         : None
Description      : SeisComP including data acquisition, processing, distribution and interactive analysis, version >=4.0.0 (public)
Filename         : seiscomp-7.3.1-rhel-10-x86_64.tar.gz
Download size    : 71.3 MiB
Installed size   : 171.1 MiB
SHA256           : 65dbc6dec5fd9ce09daea9102ba154a14e3d356cd155c41e7fafb135fb2a463d
Build date       : 2026-07-30 12:24:51 UTC
Package type     : app
Install date     : 2026-08-05 07:18:51 UTC

Show all available dependencies (only installed modules)

./gsm info deps seiscomp
Dependency name    Package name  Install script
-----------------  ------------  ----------------------------
base               seiscomp      install-base.sh
fdsnws             seiscomp      install-fdsnws.sh
gui                seiscomp      install-gui.sh
iloc               seiscomp      install-iloc.sh
mariadb-server     seiscomp      install-mariadb-server.sh
postgresql-server  seiscomp      install-postgresql-server.sh



The scripts are located under: /home/sysop/seiscomp/share/deps/rhel/10

install

Syntax: gsm install [licenses] [module1 module2 … moduleN]

Install or update packages. To install a specific version run, e.g., install gds=2019.287. If no module is provided, all installed modules will be updated.

./gsm install seiscomp
ACCESS    [✓] 1/1  00:00
CHECKSUM  [✓] seiscomp 7.3.1  71.3M/71.3M  00:00
CHANGELOG [✓] 1/1  00:00
CHECKGPG  [✓] 1/1  00:00
INSTALL       seiscomp

Do you want to continue? [Y/n]: y
INSTALL   [✓] seiscomp 7.3.1  2400/2400  00:00

1/1 packages have been installed:

seiscomp (7.3.1) to /home/sysop/seiscomp: 2400 file(s), 171.1 MiB


Dependency name    Package name  Install script
-----------------  ------------  ----------------------------
base               seiscomp      install-base.sh
fdsnws             seiscomp      install-fdsnws.sh
gui                seiscomp      install-gui.sh
iloc               seiscomp      install-iloc.sh
mariadb-server     seiscomp      install-mariadb-server.sh
postgresql-server  seiscomp      install-postgresql-server.sh



The scripts are located under: /home/sysop/seiscomp/share/deps/rhel/10

Install or update the licenses

./gsm install licenses scanloc
INSTALL   [✓] scanloc license  2/2  00:00

localinstall

Syntax: gsm localinstall file1 [file2 … fileN]

Install packages from local files instead of the repository. The package description file (<file>.dsc) is expected next to the archive. Packages built for another release, operating system or architecture are skipped. Use -f to install a version older than the installed one.

./gsm localinstall var/packages/quakelink-2026.212-seiscomp-7-rhel-10-x86_64.tar.gz
CHECKSUM  [✓] quakelink 2026.212  15.7M/15.7M  00:00
CHANGELOG [✓] 1/1  00:00
CHECKGPG  [✓] 1/1  00:00
INSTALL       quakelink

Do you want to continue? [Y/n]: y
INSTALL   [✓] quakelink 2026.212  335/335  00:00
INSTALL   [✓] quakelink license  2/2  00:00

1/1 packages have been installed:

quakelink (2026.212) to /home/sysop/seiscomp: 335 file(s) (+2 License files), 26.6 MiB


No further dependencies need to be installed for: quakelink

migrate

Syntax: gsm migrate

Update config schema

./gsm migrate
Running Migration step 0.1 --> 0.2

print

Syntax: gsm print nagios crontab|output

Print GSM Nagios crontab entry / Print nagios output

./gsm print nagios crontab
20 5 * * * /home/sysop/install/gsm/gsm sync
./gsm print nagios output
gsm_updates (gsm) All packages are up to date | updates=0;;;;
gsm_updates (gsm) 1 updates available: seiscomp | updates=1;;;;

Syntax: gsm print env

Print the shell tab-completion setup hint

./gsm print env
To enable tab completion for './gsm', add this line to your ~/.bashrc:

source "/home/sysop/install/gsm/share/shell-completion/gsm.bash"

Then reload it once with:

source ~/.bashrc

reinstall

Syntax: gsm reinstall [module1 module2 … moduleN] args

Reinstall packages. If no module name is provided, all installed modules will be reinstalled.

./gsm reinstall seiscomp
ACCESS    [✓] 1/1  00:00
CHECKSUM  [✓] seiscomp 7.3.1  71.3M/71.3M  00:00
CHANGELOG [✓] 1/1  00:00
CHECKGPG  [✓] 1/1  00:00
INSTALL       seiscomp=7.3.1

Do you want to continue? [Y/n]: y
INSTALL   [✓] seiscomp 7.3.1  2400/2400  00:00

1/1 packages have been installed:

seiscomp (7.3.1) to /home/sysop/seiscomp: 2400 file(s), 171.1 MiB


Dependency name    Package name    Install script
-----------------  --------------  ----------------------------
base               seiscomp        install-base.sh
fdsnws             seiscomp        install-fdsnws.sh
gui                seiscomp        install-gui.sh
iloc               seiscomp        install-iloc.sh
mariadb-server     seiscomp        install-mariadb-server.sh
postgresql-server  seiscomp        install-postgresql-server.sh



The scripts are located under: /home/sysop/seiscomp/share/deps/rhel/10

remove

Syntax: gsm remove [module1 module2 … moduleN]

Uninstall packages. If no module is provided, all installed packages are selected; the gsm package itself is always kept.

Warning

Together with -y the confirmation is skipped, so ./gsm remove -y uninstalls every package without asking.

./gsm remove seiscomp
REMOVE        seiscomp

Do you want to continue? [y/N]: y
REMOVE    [✓] 1/1  00:00

1/1 packages have been removed:

seiscomp (7.3.0) from /home/sysop/seiscomp: 2420 file(s), 171.1 MiB

setup

Syntax: gsm setup [options]

Run initial setup (required when using for the first time). With -y the setup runs non-interactively and takes all values from the command-line parameters, see ./gsm -h setup.

See Initial setup

show

Syntax: gsm show [subcommand] [module1 module2 … moduleN]

Show all available packages

./gsm show
Available packages        Description
------------------------  -----------
bathymetry                Bathymetry files for TOAST (commercial)
caps-dataview             CAPS DataView web application featuring 24h plots, spectrograms, spectra, filtered or
                          unfiltered waveforms (commercial)
...
caps-plugins              Collection of plugins for CAPS (commercial)
caps-tools                Client tools for CAPS, e.g., capstool or rifftest (commercial)
ccloc                     Event detector based on cross-correlation with template waveforms (commercial)
deepc                     Deep Learning Phase Classifier Plugin, uses TorchScript models to classify picks (commercial)
dlbase                    base package for deep learning packages (public)
dlmodels-class            Deep Learning classification models (commercial)
dlmodels-pick             Deep Learning picker models (commercial)
dlpick                    Deep Learning Phase Picker, uses TorchScript models to pick on record streams (commercial)
...
seiscomp                  SeisComP including data acquisition, processing, distribution and interactive analysis,
                          version >=4.0.0 (public)
...

Show the latest package of single modules

./gsm show seiscomp scanloc

Show all packages available in your own repository (not available in offline mode)

./gsm show own
Package URL: https://data.gempa.de/packages/xxx

Available packages        Description
------------------------  -----------
dlbase                    base package for deep learning packages (public)
elevation                 GEBCO_2024 global coverage grids (public)
gsm                       gempa Software Management tool (public)
scrtdd                    A module for real-time double difference relocation of events (public)
sed-eew                   Earthquake early warning modules by SED (public)
seiscomp                  SeisComP including data acquisition, processing, distribution and interactive analysis,
                          version >=4.0.0 (public)
seiscomp-debug            SeisComP including data acquisition, processing, distribution and interactive analysis,
                          version >=4.0.0 (public)
seiscomp-tools            tools by gempa GmbH for public use

Show all public packages

./gsm show public
Package URL: https://data.gempa.de/packages/Public

Available packages        Description
------------------------  -----------
dlbase                    base package for deep learning packages (public)
elevation                 GEBCO_2024 global coverage grids (public)
gsm                       gempa Software Management tool (public)
scrtdd                    A module for real-time double difference relocation of events (public)
sed-eew                   Earthquake early warning modules by SED (public)
seiscomp                  SeisComP including data acquisition, processing, distribution and interactive analysis, version >=4.0.0 (public)
seiscomp-debug            SeisComP including data acquisition, processing, distribution and interactive analysis, version >=4.0.0 (public)
seiscomp-tools            tools by gempa GmbH for public use

Show available SeisComP releases, optionally for another distribution or, with all, for every operating system

./gsm show releases
SeisComP releases:
  nightly
  6*
  5
  4

Show module changelog

./gsm show changelog seiscomp
# Change Log

All notable changes to SeisComP are documented here.

## 7.3.1

...
...

Press any button to continue or (Ctrl+C) to cancel...

Show all packages on hold

./gsm show hold
Packages on hold:
  seiscomp (7.3.1)

Show possible updates

./gsm show updates
The following packages can be updated:

scanloc (2026.203) --> 2026.204

Show history

./gsm show history seiscomp
2026-03-24 07:45:56 - seiscomp was deinstalled in version 7.2.1
                      checksum: 5ec7c18584636a5184307faf1ac307613dec9cfff412b53f98a9f2f31419115d
                      download_size: 74579316
                      build_date: 2026-03-12 09:57:54
                      file_name: seiscomp-7.2.1-rhel-10-x86_64.tar.gz
2026-03-24 07:46:02 - seiscomp was installed in version nightly
                      checksum: e5574eb839885b5a5214ace3e05dbfa65937af8473fa800400e29930e6c8c103
                      download_size: 74627794
                      build_date: 2026-03-20 23:43:27

Press any button to continue or (Ctrl+C) to cancel...Interrupted (Ctrl+C)

switch-os

See Workflow: Switch OS

sync

Syntax: gsm sync

Synchronize the package index from the source repo

./gsm sync
GET       [✓] core.db  3.59M/3.59M  00:00
INSTALL   [✓] core.db  17119/17119  00:01

unhold

Syntax: gsm unhold [module1 module2 … moduleN] | gsm unhold files [file1 … fileN]

Remove packages from hold

./gsm unhold seiscomp
INFO          The package seiscomp was removed from hold

Remove files from hold

./gsm unhold files ~/seiscomp/etc/global.cfg
INFO          The file /home/sysop/seiscomp/etc/global.cfg was removed from hold

update

Syntax: gsm update

Synchronize the package index from the source repository and show possible updates

./gsm update
INSTALL   [✓] core.db  17119/17119  00:01

The following packages can be updated:

seiscomp (7.3.0) --> 7.3.1

Do you want to install packages which can be updated? [y/N]: y
ACCESS    [✓] 1/1  00:00
GET       [✓] seiscomp 7.3.1  71.3M/71.3M  00:02
CHECKSUM  [✓] seiscomp 7.3.1  71.3M/71.3M  00:00
CHANGELOG [✓] 1/1  00:00
CHECKGPG  [✓] 1/1  00:00
UPDATE    [✓] seiscomp 7.3.1  2400/2400  00:00

1/1 packages have been updated:

seiscomp (7.3.1) to /home/sysop/seiscomp: 2400 file(s), 171.1 MiB