Workflow: Offline

Please ignore the offline workflow if your target machine has internet access!

Sometimes a user or an organization has the requirement that downloaded packages be virus-checked before installation, or that the actual installation be done on a machine without internet access. We here describe a basic offline workflow using gsm (gempa software manager) enabling this.

Note

  • Note that on some systems, the command gsm has to be replaced by ./gsm.

  • Replace the exemplary package seiscomp by your actual packages.

  • On the offline machine every command requires -o. Commands which contact the repository, e.g. update or sync, cannot be used there.

Transferred directories

Two directories below the gsm base directory carry everything the offline machine needs:

var/sync

Package index (core.db) and the module description files.

var/packages

Downloaded package archives and licenses.

First time

On the online machine

Download and install gsm as described in Installation and Setup.

Download the required SeisComP or gempa packages in download-only mode, e.g.:

./gsm install -d seiscomp

On the offline machine

Copy the complete gsm directory from the online machine, either with a memory stick or with scp:

mkdir -p ~/install
cd ~/install
scp -r user@online-machine:install/gsm .

Install the required packages in offline mode:

cd ~/install/gsm
./gsm install -o seiscomp

Subsequent times

On the online machine

Go to the gsm directory:

cd ~/install/gsm

Remove the previously downloaded packages to reduce the virus-checking effort:

./gsm clean packages

Perform the update via the gempa repository. This also updates gsm itself:

./gsm update

Download the required packages in download-only mode, e.g.:

./gsm install -d gsm
./gsm install -d seiscomp

On the offline machine

Go to the gsm directory:

cd ~/install/gsm

Clean the sync and packages directories:

./gsm clean all

Warning

clean all removes var/sync including the package index. Do not run it unless the directories are replaced in the next step.

Copy var/sync and var/packages from the online machine using a memory stick or scp:

cd ~/install/gsm/var
scp -r user@online-machine:install/gsm/var/sync .
scp -r user@online-machine:install/gsm/var/packages .

Install the latest version of gsm. Nothing is done if the installed version is already the latest one:

cd ~/install/gsm
./gsm install -o gsm

Install the latest versions of all previously installed packages in offline mode:

./gsm install -o