Files
2025/share/doc/seiscomp/html/base/installation.html

677 lines
40 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>SeisComP Installation &#8212; SeisComP Development documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/seiscomp.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=72bcf2f2" />
<link rel="stylesheet" type="text/css" href="../_static/seiscomp.css?v=c6da7ce6" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/seiscomp.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=744d344a"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Getting Started with SeisComP" href="getting-started.html" />
<link rel="prev" title="Change Log" href="changelog.html" />
</head>
<body>
<div class="header">
<div class="container">
<div class="brand">
<img class="logo" src="../_static/brands/seiscomp/text/white.svg"/>
<!-- span class="title">SeisComP Development</span -->
<span class="version">7.0.0</span>
</div>
</div>
</div>
<div class="nav">
<div class="container">
<div class="content"><a class="pull-right" id="sidebar-toggle">TOC</a>
<div class="related" role="navigation" aria-label="related navigation">
<ul>
<li class="right">
<a href="../genindex.html" title="General Index"
accesskey="I">
index
</a>
</li>
<li class="right">
<a href="getting-started.html" title="Getting Started with SeisComP"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="changelog.html" title="Change Log"
accesskey="P">
previous
</a>
</li>
<li class="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="scname-installation">
<span id="installation"></span><h1><cite>SeisComP</cite> Installation<a class="headerlink" href="#scname-installation" title="Permalink to this heading"></a></h1>
<p><cite>SeisComP</cite> requires a modern Linux operating system as it is developed and tested
only under Linux. For production systems we recommend Linux distributions with
long-term support (LTS). The Linux flavors under which <cite>SeisComP</cite> has been tested
are given along with the <cite>SeisComP</cite> package names on the download sites of
<span id="id1">Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [<a class="reference internal" href="references.html#id290" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">76</a>]</span> and <span id="id2"><em>gempa GmbH</em> [<a class="reference internal" href="references.html#id147" title="gempa GmbH. The SeisComP development and maintenance company. URL: https://www.gempa.de.">31</a>]</span>.</p>
<p><cite>SeisComP</cite> can be obtained and installed from</p>
<ul class="simple">
<li><p>Officially released packages (TAR files) for different
<a class="reference internal" href="#installation-versions"><span class="std std-ref">release versions</span></a>, Linux systems and
architectures from the download sites of <cite>SeisComP</cite> <span id="id3">[<a class="reference internal" href="references.html#id290" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">76</a>]</span> or from
<span id="id4"><em>Public download site of gempa</em> [<a class="reference internal" href="references.html#id149" title="Public download site of gempa. URL: https://data.gempa.de/packages/Public/seiscomp/.">21</a>]</span>.,</p></li>
<li><p><a class="reference internal" href="build.html#build"><span class="std std-ref">Source code available on GitHub</span></a>.</p></li>
</ul>
<p>Packages may include</p>
<ul class="simple">
<li><p>Software for data acquisition, processing and <a class="reference internal" href="glossary.html#term-GUI"><span class="xref std std-term">GUIs</span></a> for each
supported platform,</p></li>
<li><p>Maps. Maps from the <cite>SeisComP</cite> releases Seattle and Zurich also work
in later releases</p></li>
<li><p>Documentation,</p></li>
<li><p>Station configuration files (optional).</p></li>
</ul>
<p>Download these packages from <span id="id5">Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [<a class="reference internal" href="references.html#id290" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">76</a>]</span> or <span id="id6"><em>Public download site of gempa</em> [<a class="reference internal" href="references.html#id149" title="Public download site of gempa. URL: https://data.gempa.de/packages/Public/seiscomp/.">21</a>]</span>.</p>
<p>The next sections describe the installation of the binary packages of <cite>SeisComP</cite>
on</p>
<ul class="simple">
<li><p><strong class="program">Ubuntu</strong>, 64 bit system,</p></li>
<li><p><strong class="program">RHEL</strong>, 64 bit system.</p></li>
</ul>
<section id="seiscomp-versions">
<span id="installation-versions"></span><h2>SeisComP Versions<a class="headerlink" href="#seiscomp-versions" title="Permalink to this heading"></a></h2>
<p><cite>SeisComP</cite> has <a class="reference internal" href="history.html#history"><span class="std std-ref">developed over time</span></a>. The versions can be
distinguished by the name of the release:</p>
<ul>
<li><p><strong>SeisComP since version 4.0.0</strong> uses release version numbers such as <em>5.2.1</em>
where</p>
<ul class="simple">
<li><p>5: major version with changes in API and database schema version, new features,
bug fixed, optimizations,</p></li>
<li><p>2: minor version with new features, bug fixed, optimizations,</p></li>
<li><p>1: patch number with bug fixes, optimizations.</p></li>
</ul>
</li>
<li><p><strong>SeisComP3</strong> uses release versions, names, numbers and patch numbers.</p>
<p>Full example: <em>SeisComP3-jakarta-2020.330.02</em></p>
<ul class="simple">
<li><p>3: release version</p></li>
<li><p>jakarta: release name</p></li>
<li><p>2020.330: release number</p></li>
<li><p>02: patch number</p></li>
</ul>
<p>Names are adjusted depending on changes in source code:</p>
<ul class="simple">
<li><p><strong>Release version:</strong> major changes in module groups, functionality,
concepts, data model.
Example: SeisComp3 is SeisComP in version 3.0
in comparison to version 2.5 the GUIs were introduced.</p></li>
<li><p><strong>Release name:</strong> major changes in functionality, concepts, data model.
Example: with SeisComP3-Seattle the new user friendly configuration GUI
<a class="reference internal" href="../apps/scconfig.html#scconfig"><span class="std std-ref">scconfig</span></a> was introduced.</p></li>
<li><p><strong>Release number:</strong> changes in data model version and/or major changes in
applications and optimizations.
The numbers include the year and the day of the year of the software
release. Example: Jakarta-2018.327</p></li>
<li><p><strong>Patch number:</strong> optimizations of applications without changes in the data
model version.</p></li>
</ul>
</li>
</ul>
<p>The version number of the installed <cite>SeisComP</cite> can be obtained by</p>
<ul>
<li><p>This documentation where it printed in the header along with the SeisComP icon</p></li>
<li><p>The running any <cite>SeisComP</cite> module on the command-line using <code class="xref std std-option docutils literal notranslate"><span class="pre">-V</span></code> such as</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>scm<span class="w"> </span>-V
scm
Framework:<span class="w"> </span><span class="m">6</span>.8.4<span class="w"> </span>Release
API<span class="w"> </span>version:<span class="w"> </span><span class="m">16</span>.3.0
Data<span class="w"> </span>schema<span class="w"> </span>version:<span class="w"> </span><span class="m">0</span>.13
GIT<span class="w"> </span>HEAD:<span class="w"> </span>c28f6323
Compiler:<span class="w"> </span>c++<span class="w"> </span><span class="o">(</span>Ubuntu<span class="w"> </span><span class="m">13</span>.2.0-23ubuntu4<span class="o">)</span><span class="w"> </span><span class="m">13</span>.2.0
Build<span class="w"> </span>system:<span class="w"> </span>Linux<span class="w"> </span><span class="m">6</span>.8.12-11-pve
OS:<span class="w"> </span>Ubuntu<span class="w"> </span><span class="m">24</span>.04<span class="w"> </span>LTS<span class="w"> </span>/<span class="w"> </span>Linux
</pre></div>
</div>
</li>
</ul>
</section>
<section id="supported-operating-systems">
<span id="installation-os"></span><h2>Supported Operating Systems<a class="headerlink" href="#supported-operating-systems" title="Permalink to this heading"></a></h2>
<p><cite>SeisComP</cite> is developed and tested on Linux for the latest stable flavors with
long-term support (LTS) and on x86_64 architecture. For <cite>SeisComP</cite> in version
7.*.*. the minimum OS and version are</p>
<ul class="simple">
<li><p>Debian: 11</p></li>
<li><p>RHEL: 8</p></li>
<li><p>Ubuntu: 22.04</p></li>
</ul>
<p>Higher versions of <cite>SeisComP</cite> will require higher OS versions.
Packages for more flavors and versions may be found on
<a class="reference external" href="https://www.seiscomp.de/downloader/">the SeisComP website</a>.</p>
</section>
<section id="hardware-requirements">
<span id="installation-hw"></span><h2>Hardware Requirements<a class="headerlink" href="#hardware-requirements" title="Permalink to this heading"></a></h2>
<p>The hardware requirements for a seismic system depend on the size of the
station network to be operated.</p>
<p>Minimum requirements are:</p>
<table class="docutils align-left">
<colgroup>
<col style="width: 10.0%" />
<col style="width: 90.0%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p>CPU</p></td>
<td><p>2</p></td>
</tr>
<tr class="row-even"><td><p>RAM</p></td>
<td><p>4 GB</p></td>
</tr>
<tr class="row-odd"><td><p>HDD</p></td>
<td><p>20 GB</p></td>
</tr>
</tbody>
</table>
<p>In case large networks (&gt;100 stations) are operated, a distributed system is
recommended. Normally a <cite>SeisComP</cite> system is separated in several subsystems.
A separation of data acquisition, processing and graphical user interfaces (GUI) is
useful to permit stable performance.</p>
<p>The minimum specifications of <cite>SeisComP</cite> systems depend on the setup and the
applications.</p>
<p>Data acquisition systems:</p>
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>CPU</p></td>
<td><p>2</p></td>
</tr>
<tr class="row-even"><td><p>RAM</p></td>
<td><p>4 GB</p></td>
</tr>
<tr class="row-odd"><td><p>HDD</p></td>
<td><p>Raid1/5/0+1 with &gt;= 200GB</p></td>
</tr>
</tbody>
</table>
<p>Processing systems:</p>
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>CPU</p></td>
<td><p>4</p></td>
</tr>
<tr class="row-even"><td><p>RAM</p></td>
<td><p>8 GB</p></td>
</tr>
<tr class="row-odd"><td><p>HDD</p></td>
<td><p>Raid1/5/0+1 with &gt;= 100GB</p></td>
</tr>
</tbody>
</table>
<p>GUI system:</p>
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>CPU</p></td>
<td><p>2</p></td>
</tr>
<tr class="row-even"><td><p>RAM</p></td>
<td><p>4 GB</p></td>
</tr>
<tr class="row-odd"><td><p>HDD</p></td>
<td><p>&gt; 50 GB</p></td>
</tr>
</tbody>
</table>
</section>
<section id="installation-of-packages">
<span id="installation-packages"></span><h2>Installation of Packages<a class="headerlink" href="#installation-of-packages" title="Permalink to this heading"></a></h2>
<p>This section describes the initial installation of <cite>SeisComP</cite> from compiled
<cite>SeisComP</cite> packages which ship as <code class="file docutils literal notranslate"><span class="pre">*.tar.gz</span></code> files. For installation from
source code follow the instructions outlined in section <a class="reference internal" href="build.html#compiling-source"><span class="std std-ref">Compiling SeisComP from Source Code</span></a>.</p>
<p>You may install the <cite>SeisComP</cite> packages in either way:</p>
<ul class="simple">
<li><p><a class="reference internal" href="#installation-gsm"><span class="std std-ref">gsm</span></a> (recommended) a package manager provided by
<span id="id7"><em>gempa GmbH</em> [<a class="reference internal" href="references.html#id147" title="gempa GmbH. The SeisComP development and maintenance company. URL: https://www.gempa.de.">31</a>]</span>,</p></li>
<li><p><a class="reference internal" href="#installation-manual"><span class="std std-ref">manually by extracting packages</span></a>.</p></li>
</ul>
<p>For later updates/upgrades read the tutorial <a class="reference internal" href="tutorials/upgrading.html#tutorials-upgrade"><span class="std std-ref">Updating/Upgrading SeisComP</span></a>.</p>
<div class="admonition hint">
<p class="admonition-title">Hint</p>
<p>We recommend to track any changes in the installation and configuration of
<cite>SeisComP</cite> except <code class="file docutils literal notranslate"><span class="pre">seiscomp/var</span></code>, <code class="file docutils literal notranslate"><span class="pre">seiscomp/share/maps</span></code> and large
binary files or files changing often during <cite>SeisComP</cite> operation
(e.g. <a class="reference internal" href="../apps/global_hypo71.html#global-hypo71"><span class="std std-ref">Hypo71</span></a>, <a class="reference internal" href="../apps/global_nonlinloc.html#global-nonlinloc"><span class="std std-ref">NonLinLoc</span></a> input and output files)
using <strong class="program">git</strong>.</p>
</div>
<section id="gsm">
<span id="installation-gsm"></span><h3>gsm<a class="headerlink" href="#gsm" title="Permalink to this heading"></a></h3>
<p>Installation of packages by gsm <span id="id8">[<a class="reference internal" href="references.html#id154" title="gsm - gempa software management tool. gempa solution. URL: https://data.gempa.de/packages/Public/gsm/.">32</a>]</span> is
recommended allowing to easily update/upgrade or add/remove packages in the
future and in order to maintain a clean file structure also after
updates/upgrades. If you wish to install and maintain <cite>SeisComP</cite>
by <strong class="program">gsm</strong> <span id="id9">[<a class="reference internal" href="references.html#id154" title="gsm - gempa software management tool. gempa solution. URL: https://data.gempa.de/packages/Public/gsm/.">32</a>]</span>, then read the instruction given in the
<span id="id10"><em>gsm documentation</em> [<a class="reference internal" href="references.html#id155" title="gsm documentation. gempa solution. URL: https://docs.gempa.de/gsm/current/.">33</a>]</span>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>While <strong class="program">gsm</strong> <span id="id11">[<a class="reference internal" href="references.html#id154" title="gsm - gempa software management tool. gempa solution. URL: https://data.gempa.de/packages/Public/gsm/.">32</a>]</span> allows the installation of software
packages the OpenSource map package of <cite>SeisComP</cite> must be
<a class="reference internal" href="#installation-manual"><span class="std std-ref">installed manually</span></a>.</p>
</div>
</section>
<section id="manual-unpacking">
<span id="installation-manual"></span><h3>Manual unpacking<a class="headerlink" href="#manual-unpacking" title="Permalink to this heading"></a></h3>
<p>A simply installation can be done by simply downloading and unpacking the
packages, but installation and maintenance using <a class="reference internal" href="#installation-gsm"><span class="std std-ref">gsm</span></a>
is recommended.
For simple unpacking follow a few steps to complete your installation of
<cite>SeisComP</cite>:</p>
<ol class="arabic">
<li><p>Log in to your Linux system as user, e.g. sysop, the standard user in this
documentation.</p></li>
<li><p>Download the installation packages, e.g. from <span id="id12">Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [<a class="reference internal" href="references.html#id290" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">76</a>]</span> or
<span id="id13"><em>Public download site of gempa</em> [<a class="reference internal" href="references.html#id149" title="Public download site of gempa. URL: https://data.gempa.de/packages/Public/seiscomp/.">21</a>]</span>:</p>
<ul>
<li><p><code class="file docutils literal notranslate"><span class="pre">seiscomp-[version]-[OS]-[arch].tar.gz</span></code>: main <cite>SeisComP</cite> package with binaries, etc.
Ensure to download the right package matching your operating system (OS) and
hardware architecture (arch: 32 or 64-bit).</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">seiscomp-[version]-doc.tar.gz</span></code>: <cite>SeisComP</cite> documentation.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>When receiving the packages from <span id="id14"><em>Public download site of gempa</em> [<a class="reference internal" href="references.html#id149" title="Public download site of gempa. URL: https://data.gempa.de/packages/Public/seiscomp/.">21</a>]</span>, the documentation is already
included in the main <cite>SeisComP</cite> package to match the installed version. In this
case, the documentation does not need to be downloaded and installed separately.</p>
</div>
</li>
<li><p><code class="file docutils literal notranslate"><span class="pre">seiscomp-maps.tar.gz</span></code>: standard <cite>SeisComP</cite> maps available on the
download site of <span id="id15">Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [<a class="reference internal" href="references.html#id290" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">76</a>]</span>.</p></li>
</ul>
</li>
<li><p>Copy the downloaded files to your $HOME directory.</p></li>
<li><p>Navigate to the $HOME directory or any other place where to install <cite>SeisComP</cite></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:$<span class="w"> </span><span class="nb">cd</span>
</pre></div>
</div>
</li>
<li><p>Install the main <cite>SeisComP</cite> package into <code class="file docutils literal notranslate"><span class="pre">seiscomp</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>tar<span class="w"> </span>xzf<span class="w"> </span>seiscomp-<span class="o">[</span>version<span class="o">]</span>-<span class="o">[</span>OS<span class="o">]</span>-<span class="o">[</span>arch<span class="o">]</span>.tar.gz
</pre></div>
</div>
</li>
<li><p>Install the <cite>SeisComP</cite> map package into <code class="file docutils literal notranslate"><span class="pre">seiscomp/share/maps</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>tar<span class="w"> </span>xzf<span class="w"> </span>seiscomp-<span class="o">[</span>release<span class="o">]</span>-maps.tar.gz
</pre></div>
</div>
</li>
<li><p>Optional: Install the documentation package into <code class="file docutils literal notranslate"><span class="pre">seiscomp/share/doc</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>tar<span class="w"> </span>xzf<span class="w"> </span>seiscomp-<span class="o">[</span>version<span class="o">]</span>-doc.tar.gz
</pre></div>
</div>
</li>
</ol>
</section>
</section>
<section id="directory-structure">
<span id="id16"></span><h2>Directory Structure<a class="headerlink" href="#directory-structure" title="Permalink to this heading"></a></h2>
<p>The installation of <cite>SeisComP</cite> creates the <cite>SeisComP</cite>
<a class="reference internal" href="#directory-structure"><span class="std std-ref">directory structure</span></a>.
All installed files and directories are found below the <em>seiscomp</em> directory
unless an alternative directory is given when installing with <strong class="program">gsm</strong> or
<a class="reference internal" href="build.html#compiling-source"><span class="std std-ref">compiling from source code</span></a>.
The directory structure of the installed system is described in the table below.</p>
<table class="docutils align-left">
<colgroup>
<col style="width: 10.0%" />
<col style="width: 90.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Directory</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><em>bin</em></p></td>
<td><p>The user module binaries.</p></td>
</tr>
<tr class="row-odd"><td><p><em>lib</em></p></td>
<td><p>The base library directory used by all modules.</p></td>
</tr>
<tr class="row-even"><td><p><em>lib/python</em></p></td>
<td><p>The Python library directory.</p></td>
</tr>
<tr class="row-odd"><td><p><em>man</em></p></td>
<td><p>The manual pages.</p></td>
</tr>
<tr class="row-even"><td><p><em>sbin</em></p></td>
<td><p>The system/service/server binaries such as <a class="reference internal" href="../apps/seedlink.html#seedlink"><span class="std std-ref">seedlink</span></a>.</p></td>
</tr>
<tr class="row-odd"><td><p><em>var</em></p></td>
<td><p>Variable files whose content is expected to continually change.</p></td>
</tr>
<tr class="row-even"><td><p><em>var/log</em></p></td>
<td><p>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.</p></td>
</tr>
<tr class="row-odd"><td><p><em>var/lib</em></p></td>
<td><p>Default directory for files created by modules such as the waveform ringbuffer of <a class="reference internal" href="../apps/seedlink.html#seedlink"><span class="std std-ref">seedlink</span></a> or the waveform archive created by <a class="reference internal" href="../apps/slarchive.html#slarchive"><span class="std std-ref">slarchive</span></a>.</p></td>
</tr>
<tr class="row-even"><td><p><em>var/run</em></p></td>
<td><p>Contains the .run and .pid files of modules started by <strong class="program">seiscomp</strong>.</p></td>
</tr>
<tr class="row-odd"><td><p><em>include</em></p></td>
<td><p>SDK header files for all libraries.</p></td>
</tr>
<tr class="row-even"><td><p><em>share</em></p></td>
<td><p>Application data such as maps, cities.xml and others.</p></td>
</tr>
<tr class="row-odd"><td><p><em>share/templates</em></p></td>
<td><p>Template files used by e.g. <a class="reference internal" href="../apps/seedlink.html#seedlink"><span class="std std-ref">seedlink</span></a> to create its native configuration.</p></td>
</tr>
<tr class="row-even"><td><p><em>etc</em></p></td>
<td><p>Configuration directory.</p></td>
</tr>
<tr class="row-odd"><td><p><em>etc/descriptions</em></p></td>
<td><p>Contains all XML module descriptions.</p></td>
</tr>
<tr class="row-even"><td><p><em>etc/defaults</em></p></td>
<td><p>The default configuration files. This directory is read as first when a module starts.</p></td>
</tr>
<tr class="row-odd"><td><p><em>etc/init</em></p></td>
<td><p>Module init scripts called by <strong class="program">seiscomp</strong>.</p></td>
</tr>
<tr class="row-even"><td><p><em>etc/key</em></p></td>
<td><p>Station configurations and module bindings.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="software-dependencies">
<span id="id17"></span><h2>Software Dependencies<a class="headerlink" href="#software-dependencies" title="Permalink to this heading"></a></h2>
<p><cite>SeisComP</cite> depends on a number of additional software packages shipped with each
Linux distribution.
After installation of <cite>SeisComP</cite> these packages can be installed using the
<a class="reference internal" href="../apps/seiscomp.html#seiscomp"><span class="std std-ref">seiscomp</span></a> script.
<a class="reference internal" href="../apps/seiscomp.html#seiscomp"><span class="std std-ref">seiscomp</span></a> comes with the command <strong class="command">install-deps</strong> which installs
required packages. For example, to install the dependencies for
using the MariaDB database, give mariadb-server as parameter.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>seiscomp/bin/seiscomp<span class="w"> </span>install-deps<span class="w"> </span>base<span class="w"> </span>mariadb-server
Distribution:<span class="w"> </span>Ubuntu<span class="w"> </span><span class="m">24</span>.04
<span class="o">[</span>sudo<span class="o">]</span><span class="w"> </span>password<span class="w"> </span><span class="k">for</span><span class="w"> </span>sysop:
Reading<span class="w"> </span>package<span class="w"> </span>lists...<span class="w"> </span>Done
Building<span class="w"> </span>dependency<span class="w"> </span>tree
Reading<span class="w"> </span>state<span class="w"> </span>information...<span class="w"> </span>Done
...
</pre></div>
</div>
<p>More requirements for systems with GUIs, FDSNWS and iLoc are:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>seiscomp/bin/seiscomp<span class="w"> </span>install-deps<span class="w"> </span>gui
user@host:~$<span class="w"> </span>seiscomp/bin/seiscomp<span class="w"> </span>install-deps<span class="w"> </span>fdsnws
user@host:~$<span class="w"> </span>seiscomp/bin/seiscomp<span class="w"> </span>install-deps<span class="w"> </span>iloc
</pre></div>
</div>
<p>If your distribution is not supported by <a class="reference internal" href="../apps/seiscomp.html#seiscomp"><span class="std std-ref">seiscomp</span></a> <em>install-deps</em>,
install the above packages manually from the scripts within the OS- and
version-dependent directories:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>seiscomp/share/deps/<span class="o">[</span>OS<span class="o">]</span>/<span class="o">[</span>version<span class="o">]</span>
...
</pre></div>
</div>
<p>Read the section <a class="reference internal" href="management.html#system-management"><span class="std std-ref">System management</span></a> for more detailed
options and instructions.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Either the MariaDB <strong>or</strong> the MySQL server can be installed; <strong>not both at the
same time</strong>. When replacing one by the other, ensure that all related files are
removed before installing the alternative server. For MySQL instead of MariaDB
use:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>root@host:~$<span class="w"> </span>sh<span class="w"> </span>install-mysql-server.sh
</pre></div>
</div>
<p>Preferably use MariaDB instead of MySQL as MariaDB is the default for the
supported Linux distributions!</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Linux systems develop dynamically and the installation of the dependencies
may be incomplete. <cite>SeisComP</cite> modules will stop and indicate the missing software.
They can be installed manually.</p>
</div>
</section>
</section>
<section id="database-server-configuration">
<span id="database-configuration"></span><h1>Database Server Configuration<a class="headerlink" href="#database-server-configuration" title="Permalink to this heading"></a></h1>
<p><cite>SeisComP</cite> is typically operated with a <a class="reference internal" href="concepts/database.html#concepts-database"><span class="std std-ref">database</span></a> which
should be optimized. This section describes how to setup and optimize the
database server. For the setup of the database itself read the section
<a class="reference internal" href="getting-started.html#getting-started"><span class="std std-ref">Getting Started with SeisComP</span></a>.</p>
<section id="mariadb-mysql">
<span id="database-configuration-mysql"></span><h2>MariaDB / MySQL<a class="headerlink" href="#mariadb-mysql" title="Permalink to this heading"></a></h2>
<ul>
<li><p>For better performance with a MariaDB/MySQL database, adjust the memory pool size. Test
the default of the <strong>buffer_pool_size</strong> before making the change:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>mysql<span class="w"> </span>-u<span class="w"> </span>root<span class="w"> </span>-p
show<span class="w"> </span>variables<span class="w"> </span>like<span class="w"> </span><span class="s1">&#39;innodb_buffer_pool_size&#39;</span><span class="p">;</span>
</pre></div>
</div>
<p>The optimum <strong>buffer_pool_size</strong> depends on your system (RAM size) and only needs
to be set if required. Choose your preferred value:</p>
<ul class="simple">
<li><p>Recommended value: 512M or more</p></li>
<li><p>Minimum value: 64M</p></li>
</ul>
<p>Additionally, reduce the database hard drive synchronization and make both adjustments
in the section [mysqld]:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="o">[</span>mysqld<span class="o">]</span>
<span class="nv">innodb_buffer_pool_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>&lt;your<span class="w"> </span>value&gt;
<span class="nv">innodb_flush_log_at_trx_commit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">2</span>
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The location of the configuration file can differ between distributions.</p>
<p><strong class="program">Ubuntu</strong>:</p>
<p><code class="file docutils literal notranslate"><span class="pre">/etc/mysql/mariadb.conf.d/50-server.cnf</span></code></p>
<p><strong class="program">RHEL</strong>:</p>
<p><code class="file docutils literal notranslate"><span class="pre">/etc/my.cnf</span></code></p>
</div>
<p>Please read the documentation of your distribution. root privileges may
be required to make the changes.</p>
</li>
<li><p>To start MariaDB automatically during boot set</p>
<p><strong class="program">Ubuntu</strong></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>mariadb
</pre></div>
</div>
<p><strong class="program">RHEL</strong></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>su<span class="w"> </span>root
root@host:~$<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>mariadb
</pre></div>
</div>
</li>
<li><p>If you make a fresh installation of MariaDB/MySQL, secure the database and set
a password for the root user</p>
<p><strong class="program">Ubuntu</strong></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>sudo<span class="w"> </span>mysql_secure_installation
</pre></div>
</div>
<p><strong class="program">RHEL</strong></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>su<span class="w"> </span>root
root@host:~$<span class="w"> </span>mysql_secure_installation
</pre></div>
</div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>This step overrides database settings. Only execute the command</p>
<ul class="simple">
<li><p>After a fresh installation or</p></li>
<li><p>If you are sure about the procedure.</p></li>
</ul>
</div>
</li>
<li><p>After adjusting the parameters, MariaDB needs to be restarted. One can run</p>
<p><strong class="program">Ubuntu</strong>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>sudo<span class="w"> </span>systemctl<span class="w"> </span>restart<span class="w"> </span>mariadb
</pre></div>
</div>
<p><strong class="program">RHEL</strong>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>user@host:~$<span class="w"> </span>su<span class="w"> </span>root
root@host:~$<span class="w"> </span>systemctl<span class="w"> </span>restart<span class="w"> </span>mariadb
</pre></div>
</div>
</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Replace mariadb by mysql when using MySQL instead of MariaDB.</p>
</div>
</section>
<section id="postgresql">
<span id="database-configuration-postgresql"></span><h2>PostgreSQL<a class="headerlink" href="#postgresql" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>When using PostgreSQL, the database server must be initialized and secured.</p></li>
<li><p>By default PostgresSQL does not allow to login with username and password which
leads to the fact that <strong class="program">scmaster</strong> can not connect to the database
after <cite>SeisComP</cite> database initialization. Here an example how to enable
user/password authentication for local and remote connections.</p></li>
</ul>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># TYPE DATABASE USER ADDRESS METHOD</span>
<span class="c1"># IPv4 local connections:</span>
host<span class="w"> </span>seiscomp<span class="w"> </span>sysop<span class="w"> </span><span class="m">0</span>.0.0.0/0<span class="w"> </span>md5
host<span class="w"> </span>all<span class="w"> </span>all<span class="w"> </span><span class="m">127</span>.0.0.1/32<span class="w"> </span>ident
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The order of the rules matters and the location of the configuration file
can differ between distributions.</p>
<p><strong class="program">Ubuntu</strong>:</p>
<p><code class="file docutils literal notranslate"><span class="pre">/etc/postgresql/10/main/pg_hba.conf</span></code></p>
<p><strong class="program">RHEL</strong>:</p>
<p><code class="file docutils literal notranslate"><span class="pre">/var/lib/pgsql/data/pg_hba.conf</span></code></p>
</div>
<ul>
<li><p>By default PostgresSQL accepts local connections only. If the database server
and clients are on different machines please change the listen address as
follows.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="nv">listen_addresses</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0</span>.0.0.0/0
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The location of the configuration file can differ between distributions.</p>
<p><strong class="program">Ubuntu</strong>:</p>
<p><code class="file docutils literal notranslate"><span class="pre">/etc/postgresql/10/main/postgresql.conf</span></code></p>
<p><strong class="program">RHEL</strong>:</p>
<p><code class="file docutils literal notranslate"><span class="pre">/var/lib/pgsql/data/postgresql.conf</span></code></p>
</div>
</li>
</ul>
</section>
<section id="next-steps">
<h2>Next Steps<a class="headerlink" href="#next-steps" title="Permalink to this heading"></a></h2>
<p>Now everything is installed and the system can be configured. The
<a class="reference internal" href="getting-started.html#getting-started"><span class="std std-ref">next chapter</span></a> chapter explains the first steps.</p>
</section>
</section>
<div id="anchors-bottom"></div>
</div>
<div class="sidebar" role="navigation" aria-label="main navigation">
<div id="anchors-top"></div>
<div id="anchors" class="content">
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
<div>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#"><cite>SeisComP</cite> Installation</a><ul>
<li><a class="reference internal" href="#seiscomp-versions">SeisComP Versions</a></li>
<li><a class="reference internal" href="#supported-operating-systems">Supported Operating Systems</a></li>
<li><a class="reference internal" href="#hardware-requirements">Hardware Requirements</a></li>
<li><a class="reference internal" href="#installation-of-packages">Installation of Packages</a><ul>
<li><a class="reference internal" href="#gsm">gsm</a></li>
<li><a class="reference internal" href="#manual-unpacking">Manual unpacking</a></li>
</ul>
</li>
<li><a class="reference internal" href="#directory-structure">Directory Structure</a></li>
<li><a class="reference internal" href="#software-dependencies">Software Dependencies</a></li>
</ul>
</li>
<li><a class="reference internal" href="#database-server-configuration">Database Server Configuration</a><ul>
<li><a class="reference internal" href="#mariadb-mysql">MariaDB / MySQL</a></li>
<li><a class="reference internal" href="#postgresql">PostgreSQL</a></li>
<li><a class="reference internal" href="#next-steps">Next Steps</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="changelog.html"
title="previous chapter">Change Log</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="getting-started.html"
title="next chapter">Getting Started with <cite>SeisComP</cite></a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/base/installation.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="horizontal layout content">
<a class="fade-in" href="https://www.gempa.de" target="_blank">
<img class="brand" src="../_static/brands/gempa.svg"/>
</a>
<div class="stretched align-center fitted content">
<div>
Version <b>7.0.0</b> Development
</div>
<div class="copyright">
Copyright &copy; gempa GmbH, GFZ Potsdam.
</div>
</div>
<a class="fade-in" href="https://www.gfz-potsdam.de" target="_blank">
<img class="brand" src="../_static/brands/gfz.svg"/>
</a>
</div>
</div>
</div>
</body>
</html>