I'm new to Ubuntu, I just installed 13.04 on a dedicated machine.

I want to update to the most recent versions of scientific software namely Bowtie, Tophat and Samtools but I can't figure out how since the newer versions are not available from the software centre. These software are command line only by the way.

I'll take Bowtie as an example. I installed it from the Ubuntu Software Centre but it is an old version. I therefore downloaded the latest version from the developer's website and unzipped the pre-compiled package in my home directory. Software centre installed the old version in /usr/bin/ and some files at other locations like /usr/share/doc/ and /usr/share/man/man1/. My understanding is that having the binary in /usr/bin/ makes it available to all users and allows calling it from the command line without having to type the complete path. So, to update the software, do I overwrite the binary in usr/bin/ and the other files elsewhere with the newer versions? That seems very awkward to me. I suspect there must be some Linux command to achieve this goal but I can't find it.

Thank you all for your help.

  • You need to follow the instructions recommended by each developer of each software, there is no general formula for that. Care to split your question into 3 different ones with "How do I install a more recent version from X software" for each piece of software you are trying to update? This site works better if 1 question = 1 solution. – Bruno Pereira Jul 3 '13 at 13:18

You should never override files in /usr - they are managed by Ubuntu package manager and modifying files manually behind Ubuntu's back would lead to problems (for example, Ubuntu will override your changes when an updated version of the package appears in the repositories).

As Bruno Pereira says, the ways to install each application may be different, however, there are a few common locations:

  • you can install your custom application in /usr/local
  • you can install your application in a subdirectory of /opt - say, /opt/bowtie - and add the latter directory to PATH
  • if you only need the application for one user, you can keep it in your home directory - if you create a directory called bin in your home directory and put a symlink to the application's binary there you'll be able to run the app by simply typing the application name in the terminal

(you may also want to make sure you completely removed Ubuntu-provided versions of the application to minimize a chance of running the wrong version accidentally)

| improve this answer | |
  • This is pretty much what I ended up doing. I removed the Ubuntu provided versions via Software Centre and simply unzipped the latest versions provided by the developers in a new directory in my home directory. – Dan Jul 5 '13 at 12:52
  • Also, it took me a while to figure out how to modify PATH. I'm not sure if this was the right way but it seems to be working. I opened the hidden file .profile in my home directory and changed the line PATH="$HOME/bin:$PATH" to PATH="$HOME/bin:$PATH:$HOME/bin/bowtie-1.0.0/:$HOME/bin/bowtie2-2.1.0/:$HOME/bin/tophat-2.0.9/". Thanks. – Dan Jul 5 '13 at 13:04

You can update all your software on your Ubuntu system like this:

sudo apt-get update && sudo apt-get upgrade


sudo apt-get install bowtie

You can use install, it will check for the latest version.

I hope this helps

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.