How to work with 2 Applications folders?

I have an internal 250 GB SSD. this drive was filling up and I bought an external 4 TB external hard drive. My Applications folder on my SSD was taking up a lot of space so I decided to create an Applications folder on my external drive. I copied many of the apps from the internal drive Applications folder to the external drive Applications folder.

Now however I realize the ramifications of having 2 Applications folders. The Applications folder on my internal drive is special in the sense that it can't be renamed or removed, and when downloads ask to be moved to the Applications folder it refers to the Application folder on my internal drive.

So my question is - what would be the best way to move my applications to a folder on my external drive but have that folder behave like the Applications folder on my internal drive? Many of the applications didn't copy because they were in use. Do I have to quit all my startup items to accomplish this?


Solution 1:

Hints for solving your XY problem

  1. Using an external hard-drive to store your applications is not recommended and will slow down their execution. Unless you are talking about a thunderbolt 4TB Solid State Drive, performances of your applications running on the external hard-drive will be very poor (especially if you compare with your internal SSD).
  2. Try as much as you can to move your movies, pictures, documents out of your SSD and keep your apps there to make the most of your SSD. You don't need a big data read/write rate for: watching a movie, browsing photos or pdf.
  3. If you are a professional and need to process photos/video, then a thunderbolt SSD will be life-saving.

Solution

  1. If you don't mind about the three points above and stick to your idea, to come back to CoderX very bad answer, the proper solution to handle 2 applications folder is:
    • to keep your original /Applications folder.
    • Create a folder on your external hard-drive.
    • Create a symbolic link for each application stored on your external hard-drive into your original /Application folder.

Example

<InternalSSD path>/Applications/ contains:

drwxr-xr-x   3 root       wheel  96 2018-06-16 09:18 app1.app/ 
drwxr-xr-x+  3 root       wheel  96 2018-07-31 02:09 app2.app/
drwxr-xr-x   3 root       wheel  96 2018-07-10 12:15 app3.app/
drwxr-xr-x   3 mr_bean    wheel  96 2018-08-16 07:09 app4.app/
drwxr-xr-x   3 root       wheel  96 2018-07-10 20:08 app5.app/

Then, <ExternalHDD path>/applications_2/ contains:

drwxr-xr-x   3 root       wheel  96 2018-06-16 09:18 app6.app/ 
drwxr-xr-x+  3 root       wheel  96 2018-07-31 02:09 app7.app/
drwxr-xr-x   3 root       wheel  96 2018-07-10 12:15 app8.app/
drwxr-xr-x   3 mr_bean    wheel  96 2018-08-16 07:09 app9.app/
drwxr-xr-x   3 root       wheel  96 2018-07-10 20:08 app10.app/

In your terminal, for app6, 7, 8, 9, 10:

ln -s <ExternalHDD path>/applications_2/app<n>.app <InternalSSD path/Applications/.

Finally:

ls -al <InternalSDD path>/Applications 

should return:

drwxr-xr-x   3 root       wheel  96 2018-06-16 09:18 app1.app/ 
drwxr-xr-x+  3 root       wheel  96 2018-07-31 02:09 app2.app/
drwxr-xr-x   3 root       wheel  96 2018-07-10 12:15 app3.app/
drwxr-xr-x   3 mr_bean    wheel  96 2018-08-16 07:09 app4.app/
drwxr-xr-x   3 root       wheel  96 2018-07-10 20:08 app5.app/
lrwxr-xr-x   3 root       wheel  96 2018-06-16 09:18 app6.app/ -> <ExternalHDD path>/application_2/app6.app 
lrwxr-xr-x+  3 root       wheel  96 2018-07-31 02:09 app7.app/ -> <ExternalHDD path>/application_2/app7.app 
lrwxr-xr-x   3 root       wheel  96 2018-07-10 12:15 app8.app/ -> <ExternalHDD path>/application_2/app8.app 
lrwxr-xr-x   3 mr_bean    wheel  96 2018-08-16 07:09 app9.app/ -> <ExternalHDD path>/application_2/app9.app 
lrwxr-xr-x   3 root       wheel  96 2018-07-10 20:08 app10.app/ -> <ExternalHDD path>/application_2/app10.app 

With this method, you don't modify your base system, don't break any path in your OS and symlink the content of your new app folder to your old one.