Getting started with the iRODS iCommands

Getting started with the iRODS iCommands

Since Yoda is based on iRODS technology, it is possible to transfer data to and from Yoda using the iRODS communication protocol. This protocol can be used to transfer large amounts of data in an efficient way.

You will need to install client software that supports the iRODS protocol on your PC. This page explains how to install and configure the iRODS iCommands. These command line tools are the standard implementation of an iRODS protocol client.

Installing iRODS iCommands

Native iRODS iCommands packages are available for CentOS and Ubuntu.

Windows 10/11 users can run the iCommands in the Windows Subsystem for Linux, we recommend WSL 2. There is no officially supported icommands installation for Mac OSX. You could try https://learning.cyverse.org/ds/icommands/#icommands-installation-for-mac-os-x or install the icommands inside a Linux VM.

Installing iCommands on CentOS

iRODS currently supports CentOS 7.

Use these commands to install the iCommands package on CentOS 7, the preferred version for Yoda 1.8 is 4.2.9:

sudo yum -y install wget epel-release yum-plugin-versionlock
sudo rpm --import https://packages.irods.org/irods-signing-key.asc
wget -qO - https://packages.irods.org/renci-irods.yum.repo | sudo tee /etc/yum.repos.d/renci-irods.yum.repo
sudo yum -y install irods-runtime-4.2.9 irods-icommands-4.2.9
sudo yum versionlock irods-runtime irods-icommands

Only the newest version 4.3.0 is supported on CentOS 8, but this should not be a problem:

sudo yum -y install wget epel-release yum-plugin-versionlock
sudo rpm --import https://packages.irods.org/irods-signing-key.asc
wget -qO - https://packages.irods.org/renci-irods.yum.repo | sudo tee /etc/yum.repos.d/renci-irods.yum.repo
sudo yum -y install irods-runtime-4.3.0 irods-icommands-4.3.0
sudo yum versionlock irods-runtime irods-icommands

Installing iCommands on Ubuntu

The following should work to install the icommands 4.3.0 on Ubuntu 20 or 22.

wget -qO - https://packages.irods.org/irods-signing-key.asc | sudo apt-key add -
echo "deb [arch=amd64] https://packages.irods.org/apt/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/renci-irods.list
sudo apt-get update
sudo apt install irods-runtime irods-icommands

Configuration

The iCommands need to be configured to connect to the right Yoda environment.

Please copy and paste this configuration into your ~/.irods/irods_environment.json configuration file.

You will need to change the example user name to your Yoda user name.

{
    "irods_host": "portal.yoda.vu.nl",
    "irods_port": 1247,
    "irods_home": "/vu/home",
    "irods_user_name": "xxx@vu.nl",
    "irods_zone_name": "vu",
    "irods_authentication_scheme": "pam",
    "irods_encryption_algorithm": "AES-256-CBC",
    "irods_encryption_key_size": 32,
    "irods_encryption_num_hash_rounds": 16,
    "irods_encryption_salt_size": 8,
    "irods_client_server_negotiation": "request_server_negotiation"
}

Getting started with iCommands

After installing and configuring the iCommands, you should be able to log in on the Yoda environment using the iinit command. Note that VU users need to set a Data Access Password.

Sections 5.3, 5.4 and 5.5 of the iRODS beginner training contain some examples of how to use the iCommands to transfer and manage files. The iCommands manual has additional information.