my dot files on Harvard Odyssey HPC
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.profile.d add dotfiles Oct 9, 2018
.bash_profile add dotfiles Oct 9, 2018
.bashrc add dotfiles Oct 9, 2018
.screenrc add dotfiles Oct 9, 2018
LICENSE Initial commit Oct 9, 2018
README.md

README.md

odyssey_dot_files

my dot files on Harvard Odyssey HPC

dot files

Those files are originally got from Samir Amin, my labmate in Roel Verhaak's lab. Thanks for sharing!

.screenrc .bashrc .bash_profile

inside .profile.d folder, there is a file named 01_odyssey_config.sh. It was executed when you login the shell.

You can grab my dot files in my github repo.

Inside the .bash_profile:

if [ -d $HOME/.profile.d ]; then
  for i in $HOME/.profile.d/*.sh; do
    if [ -r $i ]; then
          if [ "${-#*i}" != "$-" ]; then
            . "$i" >/dev/null 2>&1
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
  done
  unset i
fi

add or remove path in the 01_odyssey_config.sh file. load modules in this file as well.

install conda

install conda to my home directory /n/home02/mtang

After finishing installing, it will ask

Do you wish the installer to initialize Anaconda3
in your /n/home02/mtang/.bashrc ? [yes|no]

I chosed no. It showed me

You may wish to edit your /n/home02/mtang/.bashrc to setup Anaconda3:

source /n/home02/mtang/anaconda3/etc/profile.d/conda.sh

Thank you for installing Anaconda3!

I guess I got why Samir set up the dot files (has a .profile.d folder) like this. conda is doing similar with source /n/home02/mtang/anaconda3/etc/profile.d/conda.sh

add conda to PATH:

In the ~/.profiled.d/01_odyssey_config.sh, add one line:

mypathmunge ${HOME}/anaconda3/bin

mypathmunge is a function inside the .bash_profile

mypathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}

it will add the ${HOME}/anaconda3/bin in front of the $PATH. If you want to append it to $PATH, do mypathmunge ${HOME}/anaconda3/bin after

source .bash_profile
which conda
~/anaconda3/bin/conda

A side note. see here for the difference between .bashrc and .bash_profile.

.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

When you login (type username and password) via console, either sitting at the machine, or remotely via ssh: .bash_profile is executed to configure your shell before the initial command prompt.

But, if you’ve already logged into your machine and open a new terminal window (xterm) then .bashrc is executed before the window command prompt. .bashrc is also run when you start a new bash instance by typing /bin/bash in a terminal.

On OS X, Terminal by default runs a login shell every time, so this is a little different to most other systems, but you can configure that in the preferences.

This is a very helpful blog post to understand the differences.

Dedicating a folder for installing tools

usually, install tools with conda. If there is no recipe in conda. I will downlad the source to ~/apps and compile there.

Then in the ~/.profiled.d/01_odyssey_config.sh file, add the executable to the PATH.

e.g. I want to install ncdu to check disk usage

mkdir apps
cd apps
mkdir ncdu; cd ncdu
wget https://dev.yorhel.nl/download/ncdu-1.13.tar.gz
tar xvzf  ncdu-1.13.tar.gz
cd ncdu-1.13

./configure --prefix=${HOME}/apps/ncdu/ncdu-1.13
make 
make install

In the ~/.profiled.d/01_odyssey_config.sh file, add two lines:

export ODYAPPS="${HOME}/apps mypathmunge $ODYPPS/ncdu/ncdu-1.13/bin after

source ~/.bash_profile
# now ready to go
ncdu