NOTE: If you are running Unslung 4.x or 5.x, the default location for packages is already in the data partition, and there is no need to do what is described below. If you are running a 3.x version and upgrade to 5.x, step (6) of the install README describes how to use the slingover script to move your current packages to the new default location.
Normally, the /opt where packages are normally installed, is symlinked into the /conf partition of the harddisk. This /conf part is usually small. One way to deal with the space problem is to copy the contents of /opt to a subdir of the data partition, then change the symlink to there, and presto! you can use as much space of your HD for packages as you like.
NOTE: The rc.quota will make the data partition read only while it is calculating the disk usage of each user (this is stock linksys functionality). So any scripts/programs started in the boot process that needs write access to /opt can fail. mt-daapd will fail in default installation during reboot because it needs to open the songs database located in /opt/var/mt-daapd as read/write, moving the songs database or disabling the rc.quota will fix that.
10th April 2005 - More of a tip if anything...
One thing that had me going around in circles with successive reboots for hours with moving /opt onto the hard disk was that I had my SLUG in Maintenance Mode. Turns out that I had accidently re-booted it using http://slug_IP/Management/maintmode.cgi (or from the web page) early on in my hacking to getting 3.18(beta) working. In Maintenance mode the SLUG makes / (root) read-only from flash. Therefore, upon a reboot you lose the link onto the hard disk, no programs load, you have to re-download the programs that you wanted to run, etc., etc. So, after you have updated your firmware, make sure you take the SLUG out of Maintenance mode before you do any installs of extra programs.