[Tfug] Clean "uninstalls"

Bexley Hall bexley401 at yahoo.com
Wed Feb 4 07:42:40 MST 2009


Hi, Zack,

> > Imagine installing one or more "third party apps" on the
> > GPS unit in your car.  Now, you decide that app #2 sucks
> > (or, perhaps you just want to reclaim the resources that it
> > consumes).  Ideally, you want to be able to remove app #2
> > in such a way that the resulting system looks like *only*
> > apps #1 and #3 were (EVER!) installed -- no remnants of
> > app #2 at all.
> 
> Ah, like OS X does with application bundles?

Unfamiliar with OSX... each time I get a Mac capable of
installing OSX I end up having to toss it to make room for
something else "more interesting"  :-/

> Or various non-linux Unix packaging methods that store the
> entire installed applications in one directory,
> which can be easily removed (I'm thinking the /opt
> directory on Solaris specifically)?

Exactly.  However, note that there is nothing that prevents
a "third party application" from adhering to this model!  :<
That seems to be the crux of the problem.

And, in some environments, you really *don't* want to
confine an application like this.

E.g., imagine an application installing a web interface
to itself.  It either stuffs this under ~httpd, makes a
symlink from ~httpd to a place in it's "one directory",
*or* diddles with the httpd configuration files, etc.

In either case, its tentacles don't neatly reside
within that "one directory".  Hence my suggestion that
each *application* be assigned a UID so you could
just rm everything tagged with that UID to excise
it from your "device" (appliance).

Of course, this also has problems... :-/

My current thinking is to build a namespace for
each application.  This has the advantage of also enforcing
tighter security restraints on "rogue" applications
(e.g., not allowing the app to get at things that it shouldn't
*need* to access!)

> Applications that puke stuff all over the system are pretty
> much a
> Windows only travesty, or facilitated by package management
> tools.
> 
> Is it really that hard to programmatically set your $PATH
> and $LD_LIBRARY_PATH?

Designing the OS, you want to figure out how to put in
place mechanisms that facilitate the application "doing
the right thing" (by making it hard/impossible for it to
do the WRONG thing!)

--don


      




More information about the tfug mailing list