Installation¶
SeisComP3 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 SeisComP3 releases Seattle and Zurich also work in Jakarta)
- Documentation
- Station configuration files (optional)
Download these from http://www.seiscomp3.org/ . This section describes the installation of the binary packages of SeisComP3 on an
- Ubuntu 14, 64 bit system
- openSUSE 11, 64 bit system
- CentOS 6, 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 | 1 |
RAM | 2 GB |
HDD | 20 GB |
OS | SUSE 10.2/3 32/64bit, SUSE 11 32/64bit, (K)Ubuntu 7/8 32/64bit, Debian 5.0, CentOS 5.3 |
In case large networks (>100 stations) are operated, a distributed system is recommended. Normally a SeisComP3 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 | 1 |
RAM | 2 GB |
HDD | Raid1/5/0+1 with >= 200GB |
Processing system:
CPU | 2 |
RAM | 4 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 SeisComP3 with the prepared tar.gz files.
Log in as user (e.g. sysop)
Copy one of the
seiscomp3-jakarta-[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 SeisComP3 binary packagemake
user@host:~$ tar xzf seiscomp3-jakarta-[version]-[OS]-[arch].tar.gz
Un-tar the SeisComP3 map package into seiscomp3/share/maps
user@host:~$ tar xzf seiscomp3-[release]-maps.tar.gz
If desired, un-tar the documentation into seiscomp3/share/doc
user@host:~$ tar xzf seiscomp3-jakarta-[version]-doc.tar.gz
Unpacking these file creates the SeisComP3 directory structure.
Install dependencies¶
SeisComP3 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
Ubuntu 14 | OpenSUSE | CentOS 6 | SeisComP3 component |
---|---|---|---|
flex | flex | flex | Seedlink (compilation only) |
libxml2 | libxml2 | libxml2 | Seedlink, Arclink, trunk |
libboost | libboost | boost | trunk |
libboost-dev | libboost-dev | boost-devel | trunk (compilation only) |
libncurses5 | libncurses | ncurses | trunk:scm (optional) |
libncurses5-dev | libncurses-dev | ncurses-devel | trunk:scm (compilation only, optional) |
mysql-client | libmysqlclient | mysql | trunk (only if MySQL is used) |
mariadb-client | mariadb-client | trunk (only if MariaDB is used) | |
libmysqlclient-dev | libmysqlclient-dev | mysql-devel | trunk (compilation only if enabled) |
mysql-server | mysql-server | mysql-server | trunk (only if MySQL is used locally) |
mariadb-server | mariadb-server | trunk (only if MariaDB is used locally) | |
libpq5 | libpq5 | postgresql | trunk (only if PostgreSQL is used) |
libpq-dev | libpq-dev | postgresql-devel | trunk (compilation only if enabled) |
libqt4-dev | libqt4 | qt4 | trunk (only GUI should be used) |
python-dev | python-dev | python-devel | trunk (compilation only) |
festival | festival | festival | trunk (optional voice alert) |
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:~$ seiscomp3/bin/seiscomp install-deps base mysql-server
Distribution: Ubuntu 10.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 seiscomp3/share/deps/ubuntu/[version]
...
OpenSUSE version
user@host:~$ cd seiscomp3/share/deps/sles/[version]
...
CentOS version
user@host:~$ cd seiscomp3/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 SeisComP3 developpers 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.
OpenSUSE
/etc/my.cnf
Ubuntu 14
/etc/mysql/my.cnf
or/etc/mysql/conf.d/*
Ubuntu 16
/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
OpenSUSE
user@host:~$ sudo rcmysql restartUbuntu 14
user@host:~$ sudo restart mysqlUbuntu 16
user@host:~$ sudo systemctl restart mysqlCentOS
user@host:~$ su root user@host:~$ /sbin/service mysqld restart
To start MySQL automatically during boot set
OpenSUSE
user@host:~$ insserv mysql
Ubuntu 14, 16
user@host:~$ sudo update-rc.d mysql defaults
CentOS
user@host:~$ su root user@host:~$ /sbin/chkconfig mysqld on
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 ~/.seiscomp3/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. |