Hi nomer
While it is possible to remove extensions, it is impossible to do well without human intervention.
In order to remove an extension and it's dependencies, you have to be certain that nothing else
depends on them, and, that the extension and it's dependencies are not currently in use. Then there
is the more subtle problem of a standalone dependency that you wish to retain being removed. I once
had AppsAudit do that to me. Not because it did anything wrong, but because I did not intervene. While
I can't recall the extension, I can offer an example. Lets say you install cdrtools for burning CDs from
the command line. You then install xcdroast to add a GUI front end. Later you decide to remove
xcdroast because you find that the command line will suffice for your needs. Without human
intervention, cdrtools will be removed since it is a dependency of xcdroast.
By default, extensions are not really installed, they are mounted. The difference being they are not
copied to RAM. When sdb1 is mounted, your thumb drive is not copied to RAM, rather an access point
is created for it at /mnt/sdb1. The same applies to extensions, except that they all get mounted
at /tmp/tcloop. Extensions are really just a file containing a compressed read only file system that
when mounted become part of the directory tree. When extensions get mounted, links are created
that point to the files in the extension. For example, /usr/local/bin/cdrecord is a link that points to
/tmp/tcloop/usr/local/bin/cdrecord. On a somewhat related side note, an ISO file is a file containing
a read only file system. If you want to read a file from it, you don't need to burn a CD, you can create
a mount point, mount the ISO to it, and read from it like any other drive or directory.
sudo mkdir /mnt/somename
sudo mount -o loop filename.iso /mnt/somename
cd /mnt/somename
If you now enter ls -la you will get a directory listing.
Hope this long winded reply helps.