I am planning to install some big softwares such as Matlab (4GB), Mathematica (4GB) on my Ubuntu partitions.

I was wondering

  1. if I installed them on my home partition, when I reinstall Ubuntu without touching the home partition, will the softwares still be runnable after reinstallation?
  2. what are the advantage and disadvantages of installing softwares on root partition and of on home partition?
  3. with your answer to the previous questions, what are some reasonable plans for the sizes of root partition and of home partition? Note that I would like to learn programming in C, C++, Java, Python, Lisp, databases under both Ubuntu and Windows, and no games. My laptop has around 230 GB, where I plan to install both Windows and Ubuntu, and reserve 40 GB for Ubuntu (three partitions: swap, root and home), 110 GB for NTFS partition shared between the two OSes, 70 GB for Windows OS partition, and 10 GB that can be added to any of the above partitions. I will change my plan according to your suggestions.

Thanks and regards!

1 Answer 1


I will try to answer your questions in the order you asked them:

  1. It depends on how Matlab and Mathematica are distributed; if they are distributed as static binaries, then you should be okay. A static binary has any of the libraries needed by the program compiled into them. Generally, this is not the default for compiled applications, as it leads to extremely large binaries.

  2. There really aren't any disadvantages, per say; it depends on the application. If you're installing an application from apt-get, Synaptic or from the Ubuntu Software Centre, the application is being installed in your root partition. If you have a static binary that you have downloaded and unpackaged yourself, then your best bet would be to keep it in your home directory. For any scripts or programs I write or install, that are not provided by the Ubuntu repositories, I keep them in a bin directory in my home folder. This way, they aren't "polluting" my base system.

  3. The size of your root partition really depends on how many applications and libraries you plan on installing from the Ubuntu repositories. Different Linux distributions recommend different sizes. If you allow Ubuntu to automatically partition your drive, with a separate partition for /home, the Ubuntu installer will give you a sane layout. C and C++ compilers, Lisp REPLs, Python interpreters and the various databases do not take up much room. The only large compiler is for Java; I believe it weighs in at around 80MB for the JDK (Java Development Kit). As with my answer for your second question, most of the stuff you write, you should keep to your home directory, so you do not pollute the base system. Plus, if you ever upgrade your Ubuntu install, you will not have to worry about accidentally blowing away the directory you keep your projects in. Granted, you run this risk anyways, it will just be easier to keep everything you do in your home directory; that is what it is there for.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .