Geo data – support for researchers

Yoda Command Line Access

Configuring iCommands for Yoda

iCommands is useful for handling large datasets or interacting with Yoda while you are coding. iCommands only works on a handful of Linux operating systems. If you are a Windows user, the easiest way to use iCommands is to install and configure Windows Subsystem for Linux (WSL).

To start installing iCommands, open a command prompt as an administrator as is shown below:

⚠️ If you don’t have local admin access on your UU laptop, contact ITS to assign local admin permissions to you

Then, follow the steps below:

  1. Install Ubuntu 18.04 on WSL
    wsl --install -d Ubuntu-18.04

    After you have completed the installation, you will be asked to choose a username and password for Ubuntu and restart the system. Then you can find the Ubuntu CLI environment by searching “ubuntu” on your search bar.

  2. Install iCommands on Ubuntu (copy and paste each command separately) by opening the Ubuntu app and type;
    sudo apt-get update
    sudo apt-get install -y --only-upgrade ca-certificates
    wget -qO - https://packages.irods.org/irods-signing-key.asc | sudo apt-key add -
    echo "deb [arch=amd64] https://packages.irods.org/apt/ bionic main" | sudo tee /etc/apt/sources.list.d/renci-irods.list
    sudo apt-get update
    sudo apt -y install irods-runtime=4.2.11-1~bionic irods-icommands=4.2.11-1~bionic
  3. Prevent automatic upgrades of these two packages
    sudo apt-mark hold irods-runtime irods-icommands
  4. Network Tuning, ad hoc, and permanent
    echo "120" | sudo tee /proc/sys/net/ipv4/tcp_keepalive_time
    echo "30" | sudo tee /proc/sys/net/ipv4/tcp_keepalive_intvl
    echo "net.ipv4.tcp_keepalive_time=120" | sudo tee -a /etc/sysctl.d/99-sysctl.conf
    echo "net.ipv4.tcp_keepalive_intvl=30" | sudo tee -a /etc/sysctl.d/99-sysctl.conf
  5. Create a config file:
    Make the “.irods” directory:
mkdir ~/.irods

If the directory already exists, you might get an error. Then run the following command to make the config file:

touch ~/.irods/touch irods_environment.json
  • Open and modify the config file
    nano ~/.irods/irods_environment.json
    copy the following text (including the brackets) in there. This config file is only for using the Yoda instance of the faculty of geosciences:

    {
    "irods_host": "geo.data.uu.nl",
    "irods_port": 1247,
    "irods_home": "/nluu11p/home",
    "irods_user_name": "exampleuser@uu.nl",
    "irods_zone_name": "nluu11p",
    "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"
    }

    and replace “exampleuser@uu.nl” with your UU email address (or the email address that you are registered in Yoda) and save it (ctrl+x, y, and 2 times press enter).

  • Login to Yoda via iCommands
    If you have done all the above steps successfully, you can log in to Yoda via iCommands using:

    iinit

    and fill in your Data Access Password (DAP) where it is asked.
    ⚠️ Keep in mind that while you are typing the password on the command line, it does not show anything on the screen (dots, asterisks, bullet points, or similar characters).

Now you have access to Yoda via iCommands, and you can start using the standard iRODS commands to interact with Yoda.