Installation

SeisComP is distributed in the form of tar files for different releases, Linux systems and architectures:

  • Acquisition, processing and GUIs (for each supported platform)

  • Maps (maps from the SeisComP releases Seattle and Zurich also work in later releases)

  • Documentation

  • Station configuration files (optional)

Download these from SeisComP 1. This section describes the installation of the binary packages of SeisComP on an

  • Ubuntu 18, 64 bit system

  • CentOS 7, 64 bit system

Requirements

The hardware requirements for a seismic system depend on the size of the station network to be operated.

Minimum requirements are:

CPU

2

RAM

4 GB

HDD

20 GB

OS

Ubuntu 16 64bit, Debian 8.0 64bit, CentOS 7 64bit

In case large networks (>100 stations) are operated, a distributed system is recommended. Normally a SeisComP system is separated in several subsystems. A separation of data acquisition, processing and graphical user interfaces is useful to permit stable performance.

The minimum specifications of the system should be:

Data acquisition system:

CPU

2

RAM

4 GB

HDD

Raid1/5/0+1 with >= 200GB

Processing system:

CPU

4

RAM

8 GB

HDD

Raid1/5/0+1 with >= 100GB

GUI system:

CPU

2

RAM

4 GB

HDD

> 50 GB

Installation procedure

The next steps describe the installation of SeisComP with the prepared tar.gz files.

  • Log in as user (e.g. sysop)

  • Copy one of the seiscomp-[version]-[OS]-[arch].tar.gz files to your home directory. Take care which is the right package (32 or 64-bit) for your operating system.

  • Go to home directory

    user@host:/tmp$ cd
    
  • Un-tar the SeisComP binary packagemake

    user@host:~$ tar xzf seiscomp-[version]-[OS]-[arch].tar.gz
    
  • Un-tar the SeisComP map package into seiscomp/share/maps

    user@host:~$ tar xzf seiscomp-[release]-maps.tar.gz
    
  • If desired, un-tar the documentation into seiscomp/share/doc

    user@host:~$ tar xzf seiscomp-[version]-doc.tar.gz
    

Unpacking these file creates the SeisComP directory structure.

Install dependencies

SeisComP depends on a number of additional packages shipped with each Linux distribution. The following table gives an overview (the names of packages, files or commands may differ slightly for other Linux systems):

Packages

First the environment has to be set up. The seiscomp tool comes with the command install-deps which installs required packages. Read the section System management for more detailed instructions. For example, to install the dependencies for using the MySQL database, give ‘mysql-server’ as parameter.

user@host:~$ seiscomp/bin/seiscomp install-deps base mysql-server
Distribution: Ubuntu 18.04
[sudo] password for sysop:
Reading package lists... Done
Building dependency tree
Reading state information... Done
...

If your distribution is not supported by install-deps, install the above packages manually:

Ubuntu version

user@host:~$ cd seiscomp/share/deps/ubuntu/[version]
...

CentOS version

user@host:~$ cd seiscomp/share/deps/centos/[version]
...
su root
bash install-mysql-server.sh
bash install-postgresql-server.sh
bash install-base.sh
bash install-gui.sh
bash install-fdsnws.sh
...

or contact the SeisComP developers to add support for your distribution.

SQL configuration

  • For better performance with a MySQL database, adjust the memory pool size. Test the default of the buffer_pool_size before making the change:

    mysql -u sysop -p
    show variables like 'innodb_buffer_pool_size';
    

    The optimum buffer_pool_size depends on your system (RAM size) and only needs to be set if required. Choose your preferred value:

    • Recommended value: 512M

    • Minimum value: 64M

    Additionally, reduce the database hard drive synchronization and make both adjustments in the section [mysqld]:

    [mysqld]
    innodb_buffer_pool_size = <your value>
    innodb_flush_log_at_trx_commit = 2
    

    Note: The location of the configuration can differ between distributions. The locations are given below for different Linux distribution.

    Ubuntu 16

    /etc/mysql/mariadb.conf.d/50-server.cnf

    Ubuntu 18

    /etc/mysql/my.cnf

    /etc/mysql/mariadb.conf.d/50-server.cnf

    CentOS

    /etc/my.cnf

    Please read the documentation of your distribution. root privileges may be required to make the changes.

  • After adjusting the parameters, MySQL needs to be restarted. One can run

Ubuntu

user@host:~$ sudo systemctl restart mysql

CentOS

user@host:~$ su root
user@host:~$ systemctl restart mariadb
  • To start MySQL automatically during boot set

    Ubuntu

    user@host:~$ sudo update-rc.d mysql defaults
    

    CentOS

    user@host:~$ su root
    user@host:~$ systemctl enable mariadb
    

Now everything is installed and the system can be configured. The next chapter chapter explains the first steps.

Directory structure

The directory structure of the installed system is described with the following table.

Directory

Description

bin

The user module binaries.

lib

The base library directory used by all modules.

lib/python

The Python library directory.

man

The manual pages.

sbin

The system/service/server binaries such as seedlink.

var

Variable files whose content is expected to continually change.

var/log

Log files of started modules. Usually modules log either to syslog or ~/.seiscomp/log. This directory contains the logs of the start of each module.

var/lib

Default directory for files created by modules such as the waveform ringbuffer of SeedLink or the waveform archive created by slarchive.

var/run

Contains the .run and .pid files of modules started by seiscomp.

include

SDK header files for all libraries.

share

Application data such as maps, cities.xml and others.

share/templates

Template files used by e.g. SeedLink to create its native configuration.

etc

Configuration directory.

etc/descriptions

Contains all XML module descriptions.

etc/defaults

The default configuration files. This directory is read as first when a module starts.

etc/init

Module init scripts called by seiscomp.

etc/key

Station configurations and module bindings.