.. _sec-inst: Installation and Setup ====================== GSM requires some system dependencies to be met before setting up the configuration and installing the packages. Workflow: #. Install software dependencies #. Download and install :program:`gsm` #. Set up :program:`gsm` initially. .. _sec-inst-ubuntu: Software dependencies --------------------- The installation of the system dependencies depends on Linux Distribution as described here. Ubuntu/Debian ^^^^^^^^^^^^^ Installation of Python3 and the package installer for Python venv and gnupg. .. code-block:: sh sudo apt install python3 python3-venv gnupg .. _sec-inst-rhel: RHEL ^^^^ Installation of Python3 and the package installer for Python venv and gnupg. .. code-block:: sh su - dnf install python3 gnupg2 exit .. _sec-download: Package download and installation --------------------------------- Download the current gsm package and unpack it in the corresponding directory. .. code-block:: sh mkdir $HOME/install cd $HOME/install wget https://data.gempa.de/gsm/gempa-gsm.tar.gz tar xvfz gempa-gsm.tar.gz .. _sec-setup: Initial setup ------------- To setup the installation environment run .. code-block:: sh ./gsm setup .. code-block:: sh Searching Python executable Using /usr/bin/python3 Creating Python virtual environment: /home/sysop/install/gsm/venv Installing Python dependencies ==================================================================== 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 [6]: 6 Operating system [rhel]: rhel Operating system version [9]: 9 System architecture [x86_64]: x86_64 Do you want to use your private repository with gempa modules? Otherwise use the public SeisComP packages: [Y/n]: y Username []: xxx Password []: xxx Repository URL [https://data.gempa.de/packages/GEMPA]: https://data.gempa.de/packages/XXX Download dir [/tmp/gsm/packages]: /home/sysop/install/gsm/packages Install path [/home/sysop/seiscomp]: /home/sysop/seiscomp 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 This initial setup creates the file :file:`gsm.conf` where the :ref:`configuration ` is stored. When done continue with :ref:`standard workflow `. Description of file structure ----------------------------- All files and directories are located in the :file:`gsm` directory. .. code-block:: sh gsm ├── bin │   └── gsm.py ├── CHANGELOG ├── gsm ├── gsm.conf ├── libs │   ├── cache │   │   ├── custominstall.py │   │   ├── __init__.py │   │   ├── localcache.py │   │   └── synccache.py │   ├── config.py │   ├── const.py │   ├── gpgutils.py │   ├── gsm.py │   ├── helpcli.py │   ├── __init__.py │   ├── installdeps.py │   ├── log.py │   ├── makelinks.py │   ├── news.py │   ├── osupgrade.py │   ├── osutils.py │   ├── package.py │   ├── pkgbuild.py │   ├── releasedowngrade.py │   ├── releaseupgrade.py │   └── utils.py ├── local │   └── gsm │   ├── desc │   └── files ├── migrations │   ├── 0.0_to_0.1 │   └── 0.1_to_0.2 └── requirements.txt