USFOS on linux

As a commercial (engineering) software, USFOS needs to be manually installed. I tried this today on elementary OS, powered by frugal hardware, and USFOS runs just fine. At minimum, the following are needed:

  1. usfos, xact binary, and usfos_etc files.
  2. A valid license usfos.key file.
  3. A computer with Linux 64-bit OS to run on.

As each binary needs to be separately downloaded from USFOS site, I’ve automated this via wget. Here are the commands to run in a terminal (or copy-paste the whole block in to a install.sh file and run it at commandline like so: bash ./install.sh):

#!/usr/bin/env bash
# 2020 ckunte

# Create ~/usfos/bin folder
mkdir -p $HOME/usfos/bin

# Download USFOS etc archive
wget http://www.usfos.no/download/Linux/files/usfos_etc.tgz -P $HOME/usfos/

# Extract USFOS etc archive to ~/usfos/etc
tar zxvf $HOME/usfos/usfos_etc.tgz -C $HOME/usfos/

# Download USFOS binary files
wget -i https://gist.githubusercontent.com/ckunte/7836a10f5d418799a8ea/raw/a84df4d072683aa6bd3d513400f2d54aadefe363/downloadlist.txt -P $HOME/usfos/bin/

# Extract USFOS binary files
gunzip $HOME/usfos/bin/*.gz

# Make USFOS binary files executable
chmod +x $HOME/usfos/bin/*

The last line above makes downloaded files executable. Add usfos commands to PATH, so they can be accessible from a working folder. This following is to be added to ~/.bashrc (in my case, ~/.zshrc, since I use zsh as my shell):

export PATH=$HOME/usfos/bin:$PATH
export USFOS_HOME=$HOME/usfos

Reload .bashrc with the command in terminal:

. ~/.bashrc

Run xact & from terminal to load the familiar UI as below:

USFOS on linux.
USFOS on linux.

Place a valid license key, usfos.key, in ~/usfos/etc folder — this is required to perform analysis. (USFOS team is kind enough to make model and results viewer not depend on the license key.) Docs and examples may be separately downloaded — as required.