I am going to install BunsenLabs Crunchbang on my laptop that has 250gb SSD and a 1tb HDD. I am coming from a Windows 8/10 background so I am not familiar with the way the file system works.

I want to have my OS files on the SSD with the majority of my programs installed on the HHD. Yet I would like some programs installed on the SSD. How would I set the drives up to achieve this? Do I need to partition the disks on install or is it easier to change each program's install directory individually?

1 Answer 1


If you install software using package managers such as RPM (in Fedora and Redhat) and APT (in Debian and Ubuntu), the applications usually will be installed in folders such as /usr/bin, /usr/local/bin and /opt. Tipically, software that is not part of the operating system will reside in /opt.

To use a different disk for the applications, you may (1) mount the other disk as /opt or a sub directory of /opt, or (2) create a symbolic link that redirect the folder /opt or one of its sub directories to a folder in the other disk.

I prefer the second option. Suppose that you have the other disk in /mnt/otherdisk, you can create a folder before installing the software. Note that you must configure the file permissions properly. For instance, if the software will be installed in /opt/software

mkdir /mnt/otherdisk/opt/software 
ln -s /mnt/otherdisk/opt/software /opt/software
# then install the software

If you have installed the software, you can move the files and create the link too. Suppose that the software is installed in /some/dir and the other disk is in /mnt/otherdisk:

mv /some/dir /mnt/otherdisk/some/dir 
ln -s /mnt/otherdisk/some/dir /some/dir
  • With the symbolic link, how would I have a few applications on the SSD? From the commands, it looks like all the applications are on the HDD... Jul 26, 2017 at 21:39
  • 1
    When you use typical commands such as ls /opt, the listings will show the files in the other disks as if they are in just one. Remember that the Linux/Unix filesystem is a "big tree" without a letter for each drive. -- to know what is installed in the SSD, you may list that mount point, i.e. ls /mnt/otherdisk
    – Jaime
    Jul 27, 2017 at 4:29

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