installationpackageapt-getaptitude

How can I change the apt-get install directory


The default install directory of apt-get is /opt. Can I change it to another directory?


Solution

  • Best way I can think of is to use a symbolic link

    note that not all programmes are installed to the same directory and /opt may not be the best thing to move. (see end for example of moving only one folder/program)

    This is what I did with EasyPeasy (Ubuntu 10.04)

    Follow this code carefully some of the commands can delete important files if used incorrectly.

    First you need to make sure /opt (or your distros default apt-get install directory) is empty. If you have data in the opt folder, which you most likely do, you can move it to somewhere else first for safe keeping:

    sudo mkdir /New_Location/newtmp                                      # Generates Temporary Folder for Programs 
    sudo cp -a /opt/* /New_Location/newtmp                               # Moves Programs to Temp folder
    

    Once backed up you can remove the original directory:

    sudo rm -rf /opt/                                                    # Removes opt directory
    

    You can then create your new Program Files folder in a drive with lots of space and create a symbolic link:

    sudo mkdir /New_Location/Program-Files                               # Generates New Program Directory
    sudo ln -s /New_Location/Program-Files /opt                          # Creates Symbolic Link
    

    Finally move all your old program files to your new folder and clean up the temporary data:

    sudo cp -a /New_Location/newtmp/* /New_Location/Program-Files        # Moves Programs to Program Files Folder 
    sudo rm -rf /New_Location/newtmp/                                    # Removes Temp folder
    

    If you only wanted to move a single program which is taking up a hunk of your space you could use the same process.

    eg: to move Java (JVM approx 300MB) do the following. check directory of java using disk usage analyser. mine is /usr/lib/jvm

    sudo mkdir /New_Location/Program-Files/Java                          # Generates New Program Directory
    sudo cp -a /usr/lib/jvm/* /New_Location/Program-Files/Java            # Moves Program to new folder
    sudo rm -rf /usr/lib/jvm                                             # Removes opt directory
    sudo ln -s /New_Location/Program-Files/Java /usr/lib/jvm             # Creates Symbolic Link
    

    Its best at this point to do a restart which should clear the cache.