Skip to content

Linux System Requirements

This page outlines the system requirements and configuration needed to run BioGrids software on Linux systems.

Supported Linux Distributions

BioGrids supports the following Linux distributions:

  • Red Hat Enterprise Linux (RHEL) 7, 8, 9
  • CentOS 7, 8 Stream, 9 Stream
  • Rocky Linux 8, 9
  • AlmaLinux 8, 9
  • Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS, 24.04 LTS
  • Debian 10 (Buster), 11 (Bullseye), 12 (Bookworm)
  • SUSE Linux Enterprise Server (SLES) 12, 15
  • openSUSE Leap 15.x

Other distributions may work but are not officially supported.

Hardware Requirements

Minimum Requirements

  • Processor: x86_64 (64-bit) Intel or AMD processor
  • Memory: 4GB RAM
  • Storage: 50GB available disk space (for selective installations)
  • Network: Internet connection for installation and updates
  • Processor: Multi-core x86_64 processor (4+ cores)
  • Memory: 16GB+ RAM (32GB+ for large-scale analysis)
  • Storage: 500GB+ SSD storage (for comprehensive software collection)
  • Network: Broadband internet connection

Site Installation Requirements

  • Storage: 3TB+ available disk space (for full software collection)
  • Memory: 32GB+ RAM recommended
  • Network: NFS or other network filesystem support (for shared installations)

Required System Libraries

Graphics Libraries

Many bioinformatics visualization tools require OpenGL support:

# RHEL/CentOS/Rocky/Alma Linux
sudo yum install mesa-libGLU mesa-libGLU-devel

# Ubuntu/Debian  
sudo apt-get install libglu1-mesa libglu1-mesa-dev

Shell Requirements

All Linux systems need a recent version of csh/tcsh (6.17+):

# RHEL/CentOS/Rocky/Alma Linux
sudo yum install tcsh

# Ubuntu/Debian
sudo apt-get install tcsh

32-bit Compatibility Libraries

Many legacy bioinformatics applications require 32-bit compatibility libraries:

RHEL/CentOS/Rocky/Alma Linux 7, 8, 9

32-bit compatibility libraries and fonts:

sudo yum install glibc.i686 libgcc.i686 libX11.i686 libXaw.i686 libXext.i686 \
    ncurses.i686 redhat-lsb.i686 xorg-x11-fonts-75dpi xorg-x11-fonts-100dpi \
    xorg-x11-fonts-ISO8859-1-75dpi xorg-x11-fonts-ISO8859-1-100dpi \
    xorg-x11-fonts-misc freetype.i686 fontconfig.i686 zlib.i686 libstdc++.i686

X11 libraries and other required packages:

sudo yum install libxcb xcb-util xcb-util-image xcb-util-keysyms \
    xcb-util-renderutil xcb-util-wm

sudo yum install gnome-terminal libXScrnSaver glx-utils

Additional packages for RHEL 8+ based systems:

sudo yum install libnsl

Ubuntu/Debian Systems

Ubuntu and Debian use the Multiarch system for 32-bit compatibility:

# Enable 32-bit architecture support
sudo dpkg --add-architecture i386
sudo apt-get update

# Install required 32-bit packages
sudo apt-get install libc6-i386 lsb-core tcsh gawk libjpeg62:i386 curl \
    libx11-6:i386 libxext6:i386 lib32gcc-s1 lib32stdc++6

Additional Dependencies

For Debian/Ubuntu Systems

sudo apt-get install build-essential curl wget git libssl-dev libffi-dev \
    python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev

For RHEL/CentOS/Rocky/Alma Systems

sudo yum groupinstall "Development Tools"
sudo yum install curl wget git openssl-devel libffi-devel python3-devel \
    python3-pip libxml2-devel libxslt-devel zlib-devel

Network Configuration

Outbound Network Access

BioGrids requires outbound internet access for: - Software downloads and installation - Automatic updates - License verification (for some packages)

Required ports: - HTTPS (443): Primary protocol for downloads and API access - HTTP (80): Fallback for some repositories
- SSH (22): For git-based package sources (optional)

Firewall Configuration

Ensure your firewall allows outbound connections on required ports:

# Example for firewalld (RHEL/CentOS)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

# Example for ufw (Ubuntu)
sudo ufw allow out 80
sudo ufw allow out 443

Proxy Configuration

If your system uses a proxy server, configure it for BioGrids:

# Set proxy environment variables
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export ftp_proxy=http://proxy.example.com:8080

# Add to shell profile for persistence
echo 'export http_proxy=http://proxy.example.com:8080' >> ~/.bashrc
echo 'export https_proxy=http://proxy.example.com:8080' >> ~/.bashrc

User Account Setup

Standard User Installation

No special privileges required for personal installations. BioGrids installs to user's home directory by default.

Multi-User Installation

For shared systems, create a dedicated service account:

# Create biogrids service account
sudo adduser biogrids

# Add users to biogrids group
sudo usermod -a -G biogrids username

Sudo Configuration (Optional)

For multi-user systems where users need to manage BioGrids software:

# Create sudoers configuration
sudo tee /etc/sudoers.d/biogrids << EOF
%biogrids ALL=(biogrids) NOPASSWD: /programs/x86_64-linux/biogrids_installer/latest/biogrids-cli
EOF

Storage Considerations

File System Requirements

  • Case-sensitive filesystem recommended for compatibility
  • NFS/network storage supported for shared installations
  • SSD storage recommended for performance
  • Regular backups recommended for site installations

Disk Space Planning

Installation Type Storage Required
Minimal personal 10-50 GB
Standard personal 100-200 GB
Comprehensive personal 300-500 GB
Site installation 1-3 TB

Temporary Space

Ensure adequate temporary space for installations:

# Check available space in /tmp
df -h /tmp

# Set custom temporary directory if needed
export TMPDIR=/path/to/large/tmp

Performance Optimization

Memory Configuration

For systems with large memory, configure kernel parameters:

# Increase shared memory limits for large datasets
echo 'kernel.shmmax = 68719476736' >> /etc/sysctl.conf
echo 'kernel.shmall = 4294967296' >> /etc/sysctl.conf

CPU Considerations

  • Multi-core processors recommended for parallel analysis
  • NUMA awareness important for large systems
  • CPU features: SSE4, AVX support beneficial for some applications

Security Considerations

SELinux Configuration

If SELinux is enabled, you may need to configure contexts:

# Check SELinux status
sestatus

# Set appropriate contexts for BioGrids installation
sudo semanage fcontext -a -t user_home_t "/home/*/\.biogrids(/.*)?"
sudo restorecon -R /home/*/.biogrids

AppArmor Configuration

On Ubuntu systems with AppArmor, ensure BioGrids applications can run:

# Check AppArmor status
sudo aa-status

# Create permissive profile if needed
sudo aa-complain /usr/bin/python3

Troubleshooting Common Issues

Missing Dependencies

Error: library not found Solution: Install required system libraries listed above

Error: permission denied
Solution: Check file permissions and user group membership

Error: network timeout Solution: Verify network connectivity and proxy configuration

Graphics Issues

Error: display not found Solution: Ensure X11 forwarding is enabled for SSH connections:

ssh -X username@hostname

Error: OpenGL not available Solution: Install mesa-libGLU packages and graphics drivers

Performance Issues

Slow installations: Use faster storage (SSD) and check network bandwidth Memory errors: Increase available RAM or swap space CPU bottlenecks: Consider multi-core processors for parallel workloads

Getting Help

For Linux-specific installation issues: - Email: help@biogrids.org - Include: System information (uname -a, distribution version, error messages) - Logs: Check installation logs in ~/.biogrids/logs/