Apps :: uci vs tar.gz/dsl
Being somewhat new do DSL I am not sure I fully understand when I should download a tar.gz/dsl extension and when I should use uci. I think I understand that uci is less memory intensive but isn't this just during the installation of the package and once package is installed the functionality and memory utilization is the same (assuming the package versions are the same)? Thanks.
tar.gz is downloaded into ramdisk, and then extracted into ramdisk. Initially you'll have both the installed application and the original package using ram as storage space until you remove or move the package. After doing that, the entire installed application is still in ram unless you are using a persistent /opt.
UCI packages can be stored anywhere, including a harddisk, and are not installed. They are mounted instead, so the files don't get copied into ramdisk.
The packages themselves are virtually identical, both being installed into /opt/something and run the same way, but UCI is read-only, and umounts when you shut down even when using persistent opt or a full hd install.
Both .uci and .tar.gz are slightly easier on ram than .dsl packages, at least if you don't use any .dsl at all, because .dsl causes more of the KNOPPIX system to be copied into ramdisk.
My personal preference is to use UCI whenever possible. This is not only because of the ram usage, but also because i love the idea of easily adding and removing these self-contained packages. It's not always possible to make a uci package, though. An example is application plugins....if these packages were in uci format the host application would need to already know where to find all the separate plugin directories, which is not a reasonable way to package the host program. In cases like these a tar.gz is used instead.
There are still some semi-vital applications that i have yet to try to build as UCI, such as xfree86, so in the meantime i use the .dsl package occasionally.
It has been only recently (dsl2.0?) that the number of cloop devices available for mounting UCIs was increased dramatically, so you are bound to see an ever-increasing number of UCI packages available in the future.
Thanks for explanation. You mentioned that,
"My personal preference is to use UCI whenever possible. This is not only because of the ram usage, but also because i love the idea of easily adding and removing these self-contained packages. "
I thought that even with the DSL and .tar.gz packages all I need to do to remove them was to delete the files and reboot my computer. Am I confused on this poiint? Thanks.
With liveCD/frugal/embedded, yes...all extensions will be removed when you reboot. However, this won't happen if you are running a full harddrive install. A uci will be umounted, but tar.gz and dsl will remain installed. Also, if you happen to have your menu/icons backed up in frugal, you might end up with orphans when you reboot. That bit might have changed recently...i haven't looked into it.
Another thing, what about an application that you might use only once in a while....would you prefer to install that and have it hanging in ram unused for most of your session, or would you prefer to mount the app, do what you need to do, and then just remove it with a click?
You can think of a uci as being very much like an application that runs entirely from a CD (only faster). You mount the CD, run the program, umount the CD when you're done. It doesn't touch your base system, and doesn't hang around when you don't need it.
original here.