Monitoring What Files Your Applications Leave Behind? 131
GoRK asks: "I have to install a commercial application on one of my servers. The application refuses to locate itself anywhere other than under the /usr tree, and I am concerned with it munging with my configuration under /etc as it automatically configures its daemons and whatnot. I am also a bit concerned with the method it goes about to verify its license on install. Is there any way I can run the installer in some sort of wrapper that allows me to monitor what files and network sockets get read/written to during the change so that I can monitor what data on my machine is getting moved around and also build a catalogue of every last little bit of the app in case I ever have to remove it?" In my opinion, a sensible software installer should have some form of user accessible package manifest included. Why should consumers trust third party software to "do the right thing" in the right locations, especially when installing software you don't have the source to.
"I am a big fan of MD5 sums and package management as a very reliable integrity check and I value the fact that every file on my system save user documents, etc. belongs to a package and I can verify its authenticity. I need to make sure that I know about each and every system file that gets modified during the installation. It would also be nice to see and control if it accesses anything under /dev/ just out of curiosity.
I've never been a diehard security freak before, but I just feel like it's 'time to do things right' so to speak. Is there a tool that will assist me here?"
If you were really concerned (Score:1)
Of course, you could also ask the company that makes the software. I have a small hunch that they would also know.
That presumes of course, that this software actually exists, and this isn't an Open Source Troll Story.
FAM (Score:1)
Re:Simple. Geesh. (Score:1)
The guy who modded it down probably just has a clue as to how "locate" works. Something which is obviously lacking in yourself, and "Amp", despite his low UID.
Note that he got modded up to 5 anyway, and the downmod was "overrated". Exactly the mod that "Amp" deserves. Ontopic, not a troll, nor flamebait, but a a factually incorect pile of drivel.
Good to know there ARE some clueful moderators still. Bad to know that he was outvoted by four clueLESS idiots.
Re:chroot (Score:1)
chroot (Score:4)
Run the application in a chroot'd sandbox.
clues required of the human installer (Score:1)
If they don't know how to use find, what use is an install log to them?
I must say that if I were writing an installer for money, I might well keep a log (though not of all modifications to all the files) but I'd certainly focus most of my time on making it work right so that nobody needs the install log, whether or not they're competent to do anything with it.
Re:Package management thoughts (Score:1)
dpkg --get-selections >
When your drive goes to "Silicon Heaven"
dpkg --set-selections
(Assuming you've already restored
protopkg (Score:2)
Or, (protopkg trick of the week, kids), write a prototype that just has "sleep 10" in the compile() function. When protopkg goes to sleep, hit ctrl-z to stop it, and do whatever you want to manually. Then when you're done, give that shell an 'fg' to let protopkg finish its work.
Idunno about monitoring the network sockets... that's kinda weird.
Simple. Geesh. (Score:4)
do the install
bash# locate
bash# diff
Or, if you wanted to get fancier and check for changed files:
for i in `locate
do
echo $i:`sum $i` >>
done
install
for i in `locate
do
if grep -v $i:`sum $i`
echo $i >>
fi
done
###
Shell scripting is your friend. Learn it well.
--
Re:strace is your friend (Score:2)
I recomment you strace all system calls from the installer (i.e. don't use -e), and filter later with grep | less, so you make sure you don't miss any interesting data.
#define X(x,y) x##y
Useful tools... (Score:1)
If you want to see what filehandles are open - as in, files & sockets - lsof [purdue.edu] is useful.
The checksummers take a couple of minutes to check timestamps, and at least a few minutes for checksumming; lsof could be scripted to run in a loop, I guess. These are tools for use at intervals. If you want to get a continual log, look at strace. If you want to be able to reverse the changes, you could try chroot, or back up your system, or use a test system.
Tripwire (Score:1)
strace (Score:1)
on it, but you'll get a lot of detail to
wade through unless you give more options
you'd see all file accesses though
-Kevin
or truss Re:strace (Score:1)
what Linux's strace is truss
-Kevin
Re:This is where NT admins have it good :) (Score:1)
that most Windows utilities seem single-minded
unlike Unix utilities which can be used to
do multiple things (because you can combine
them in the shell), and also that Windows
often requires third-party apps for some
capabilities that are common on Unix systems.
Neither of these issues have anything to do with
the Windows OS itself (the kernel).
-Kevin
Re:my opinion (Score:2)
2) Yes, Open-Source Software has bugs just like any other software. But having the source enables you to fix it.
3) Yes, you have to trust many people, if you use any kind of software. But it's easier to trust software engineers, who don't hide their source.
--
Raphael Wegmann
Shareware mode (Score:1)
You should always play around with the application on a non-production machine before you go live.
BTW, TripWire will catalog your entire system, and let you know if any new files are added or altered. Very good method for security also.
That's what tech support is for... (Score:1)
Well, you're using commercial software, right? You didn't just pay for a chunk of bits and bytes when you got it. Get your money's worth and call them to ask what changes the program will make to your system configuration. I think that's the easiest and simplest way.
VMware (Score:1)
Gerv
Re:This is where NT admins have it good :) (Score:1)
Hate to say it, but we do have that. It's called Tripwire. Been on Sourceforge since 1998, and I can recall mention of it back for years before that. Thing's a lifesaver when it comes to detecting anything messing with system directories.
Re:This is where NT admins have it good :) (Score:2)
True, but then on Unix all the configuration's on the filesystem anyway. Usually all you want in the end's a list of what changes the program made. Detailed step-by-step traces are useful only rarely, in debugging arcane problems. If I need more detail than Tripwire gives by default, I usually just diff the new files against a CD-RW backup from just before the install ( yes, I'm spoiled by being able to quickly back up my configuration that way ).
OpenBSD never screws /etc or /dev (Score:1)
Not an answer to the original question, but do you guys know that OpenBSD policy is to never touch the /etc (neither from
the ports, nor during the system upgrades)?
As for logging the changed files, how about looking at mtree [openbsd.org] and tripwire?
If your using Debian... (Score:1)
But if your using Redhat or other Linux distros using rpm formats i guess such an elegant solution
is not available for you
Re:This is where NT admins have it good :) (Score:1)
intercept system calls to record exactly what
a program did, tripwire only reports the
difference between two snapshots of a filesystem.
Reinventing the wheel, logwrites (Score:1)
Nothing against installwatch, but just for everyone's information, logwrites [yggdrasil.com] does much the same thing and has been around much longer. logwrites has been available under GPL since May, 1996 and was announced on comp.os.linux.announce on June 18, 1996.
I think installwatch's distinct features are that it logs some operations that do not create or delete file names (like chown), has a handy shell script command and can use syslog. A distinct feature of logwrites is that it separates the system call traps from the logging into two libraries. The simple logging library can be used elsewhere for recording additional events relevent to installation history in the same format, without invoking the system call trapping. For example, we run modified cp, mv, and install to record where a file came from.
Both programs are pretty trivial, so the duplication of effort has been tiny. Nevertheless, this situation illustrates that it can save you time to check around for an existing piece of free software before you start coding. You may be surprised what people have already released.
Re:Test it first! (Score:2)
Production (it works)
Test (we think it works)
Development (we're trying to make it work)
Training (the users are trying to figur out how it works)
Our test platforms sometimes double as training platforms; nothing reveals incorrect assumptions quicker than a clueless user banging at an app.
"What do you mean I shouldn't close while it says 'Committing transaction...'? If I shouldn't do it, why does it let me?"
TCT (Score:2)
You can also type:
# find /etc -mmin 10 /etc in the last ten minutes.
to see all the files that were changed in
Check install (Score:1)
Simple do FM][ search on checkinstall and you will find it.
--
"take the red pill and you stay in wonderland and I'll show you how deep the rabbit hole goes"
fakeroot (Score:1)
http://freshmeat.net/projects/fakeroot/
RPM is not all (Score:1)
Set up a minimal system in a directory of your choice. This might take some time, but if you tar the dir prior to doing the first installation you can recycle it later. the go to the dir and do
chroot your-dir $SHELL
and continue with installation as usual. should you be missing any file from the mini-system, just change to another shell and add.
Afterwards you will not only know what your packages requires (never trust the Requires statement B-), but you can also be sure that no files outside of this directory have been changed.
This solution has some advantages over the use-additional-system path, since your systems might be limited, especially if you require special hardware and stuff. Also a complete installation might take a while. taking out your trusty chroot-tar is much quicker.
mfg 12decode
Designed for Windows Program (Score:1)
I wonder can there be a similar program made up for Linux? It would probably be fairly straight forward, with some complications as to where you prefer apps to install.
Re:This makes a good point... (Score:2)
For those kind of apps, it's faster to build a chroot (Debian chroots are really simple to make - unpack the base2_2.tgz to a dir somewhere, cd to it, and do chroot . bin/bash), make a copy of it, then do rsync --dry-run --verbose or diff -u --recursive on the two dirs to find out what changed.
Tripwire (Score:2)
You just run it once to generate a database of files on your system and again after installation to see what has changed. Easy!
Re:Ask your vendor (Score:2)
Where does the original poster say it's a Linux system?
Re:Use ext2 to your advantage (Score:1)
Indeed! I should have heeded your advice earlier today. I tried to GRIP a CD, the application hung like a horse, so I tried ALT+CTRL+F2 to try and get a prompt. I got burried in output about DriveSeek and horror and error++, so I logged in as root and rebooted. Needless to say I spent the rest of the day recovering my HDD. Initially it didn't even show up on fdisk. Bugger.
Re:You're taking this too seriously (Score:2)
Novell has this funky "new" technology which basically goes like this:
1) You Re-Image the box with your standard Base Image (ie. only OS + Drivers)
2) You start the box (WinNT 4 sp5 for me) and login with a fresh account (ie. new profile)
3) Run Novell's SNAPSHOT software (takes picture of hard drive - all files, reg, ini, etc)
4) Install your app and configure.
5) Run SNAPSHOT again (Which now takes another picture of your hard drive & configuration, then sits and compares them, throwing the differences to a file, and copying all changed files to a location you specified)
6) Go for a drink (can take a while if its a big app)
7) Import the differences file SNAPSHOT created into NDS, then review/change/mangle the application however you see fit.
At the end of the day you've just created a "Application Object Template" which you can then import into Novell's NDS (where MS got its Active Directory idea
This product is called ZENworks, and it really is great - note, I didn't say it doesn't have problems and glitches. It comes in a few different flavors: Server, Desktop (and 1 other?)
It's a really great idea/concept - lots of things currently available singlely, now nicely packaged into 1 thing. Unfortunately I haven't seen the equivalent in Linux/*nix yet ('course that *might* have something to do with *nix not yet having a nice Directory structure like NDS)
Re:my opinion (Score:2)
Re:my opinion (Score:1)
Virtual Machines! (Score:1)
Although I've personally never used one, there's dozens of interesing uses for VMs.
Re:my opinion (Score:2)
------
Re:Installshield for Linux (Score:2)
No, the InstallShield way of doing things is a POS that is the reason why Windows programs can trash DLL versions and such.
Most of the modern unices have a central package management system that I would never trade for any per-package installation program. In fact, anyone could distribute a deb package, and all you'd have to do is run dpkg --force-depends -i commercialapp.deb && apt-get -f -y install, and the package and all its dependencies would get installed.
------
DMAPI? (Score:2)
- - - - -
Re:If you were really concerned (Score:1)
I can't see even ONE piece of information that gives me information on ANYTHING!
IMHO this should more likely be marked as "troll".
strace (Score:1)
Installshield for Linux (Score:2)
http://www.installshield.com/iemp/specs/default.a
strace is your friend (Score:3)
Actually, I frequently use it when debugging. Program doesn't start up correctly, I run it under strace to see if there's a file it can't find.
It'll show you every subprocess, every kernel call, every file access, network access, etc.
'strace netscape'
or
'strace -eopen netscape'
Ask your vendor (Score:2)
You didn't say whether the program was Open Source or proprietary, just that it was commercial. However, I'll assume that like most slashdotters you've never looked up the dictionary definition of commercial, or the Free Software Foundations confusing words list, and mean `closed source' instead. In reality a programs status as Free Software or Open Source or otherwise has no bearing on whether it is commercial or not.
Either way, whether its pay per license proprietary software or Open / Free software that is produced for commercial reasons (meaning a support contract is avaliable), complain to your vendor.
The FHS specifies RPM 3.05 as the (current) standard for installing software on Linux systems. nearly everyone who provides software on Linux (Open or proprietary) provides packages in this form, and the overwhelming majority of users use them. Get your moneys worth (either from licensing if its a closed source or support agreements otherwise) and tell the vendor you want packages.
Where to put the app is another argument. I have no problem with a packaged app that wants to live in
tripwire will tell you what changed... (Score:2)
You are using tripwire, right? And keeping good backups?
*grin*
Re:chroot (Score:1)
shows files & directories
find . -name \*
shows files only
Re:Simple. Geesh. (Score:3)
Simple way of seeing what files were create/modded (Score:4)
$ <run the appropriate install procedure>
$ find <tree where it installed itself, or if unknown,
Works for me...
--
Re:Tripwire? (Score:2)
Tripwire? (Score:3)
Re:This is where NT admins have it good :) (Score:3)
But there are drawbacks to being an adult - we are burdened with the knowledge that the world is held together with duct tape and dried dung. For us there are no happy surprises in shiny packages, only the unerring certainty that software sucks and will continue to suck.
With regard to shells, I agree - it's utterly amazing that Microsoft hasn't managed to "innovate" a decent shell yet. But I have used Bash on Windows, and it wasn't pretty. Windows is sluggish in many ways that come annoyingly to the fore in shell interaction.
chroot and diffs between ls -R (Score:1)
Why don't you create a minimal chroot environment. Before you install you do a `ls -lR`, as well as after the install.
Now just diff the ls-lR files and you see which files have been modified and which are newly created.
(Just curious, isn't this something for a mailing list rather than an Ask Slashdot?)
Re:One Technique I have used... (Score:1)
That would be --prefix somedir , and unfortunatelly it's not always an option, because some RPMs are not relocateable.
Re:One Technique I have used... (Score:1)
Umm, I guess, you're right.
And that's all that I have to say about that. -- Forest Gump
Re:chroot (Score:1)
3. ls -l `find ! -type d
(Why the '\*'? Find defaults to '*' anyway. Seems like a waste of keystokes to me. *shrug*.)
Re:Maybe app 'requires root' to install. (Score:1)
Re:Maybe app 'requires root' to install. (Score:1)
Re:Simple way of seeing what files were create/mod (Score:2)
couple comments.
I make a directory ( say,
and place all such package installation
find-listings in that directory.
The only other change is that most times,
the installed files retain their original
dates. To overcome this, I recommend using
the find-flag -cnewer ( changed newer )
sequence ( assume 'some-new-package' is the
new software package )
touch
# install your software now
find / -cnewer
|tee
The file
will contain a list of all changed files on the
system.
hth
-- kjh
p.s. This is also useful for figuring out what
files a GooEY admin menu affects.
Do the touch ; Do the GooEY ; do the find-command
Package management thoughts (Score:2)
I want large tracts of the directory structure to be modified only by packages installing their standard files. To completely restore these areas, all you need know is what packages (and which versions) were installed.
The ideal is something like this: I backup /etc, /home and /usr/local only. If my hard drive goes to Silicon Heaven, I buy a new one, restore onto it, and then run a program that looks at the list (saved in /etc) of packages I had installed and helps me reinstall them all.
Snoopdos? (Score:1)
--
"I'm surfin the dead zone
CHROOT (Score:1)
chroot() (Score:1)
try chrooting to a safe location first and see what it does. That will help verify that the script won't modify/have access to any files you don't want it to have access to.
of course there's a good chance the script won't work either.
A good firewall can monitor what network connections it starts up.
-f
Re:This makes a good point... (Score:1)
Of course that won't work for install scripts that don't do make install's
and for the original post...
If you're *really* unsure about what the install scripts that the closed source programs you're installing will fuck up, then why are you trusting their actual app to run correctly?
2 things-
1- make sure you have good tech support from the company.
2- install on a test server first, then on your production machine.
-f
/proc/####/fd (Score:1)
-------
Encap / Epkg (Score:1)
Re:This is where NT admins have it good :) (Score:1)
Re:chroot (Score:3)
Using this, you could set up a virtual machine, similar to the way the Openroot Project [sektor7.ath.cx] does.
Re:chroot (Score:2)
I would have suggested the very same thing, for determining what files get installed/removed. Make a basic filesystem and chroot into it, and then install/run the commercial app. This way your system would be protected.
Of course, my other suggestion would put things into a little more perspective: /files.1 /files.1 /files.1 /files.2
1. Make a complete system backup.
2. as root: md5sum `find / -name \*` >
3. ls -l `find / -name \*` >>
4. install the commercial app.
5. repeat steps 2 and 3, to different filenames(files.2).
6. diff
the output of #6, if you were feeling properly bored, could be parsed by a perl or shell script if you wanted it pretty, otherwise you'd know what files were created, deleted, or modified.
Of course, this solution wouldn't have the foresight to note the differences in other system changes, such as the log files... But you could deal with that yourself.
btw, I assume bash as your shell... you can probably avoid the backslash escape before the asterisk in other shells. heh
mtree (Score:1)
The *BSDs have a tool called 'mtree' (in the base distro) which is like a cut-down version of tripwire. It's great for detecting trojaned binaries and seeing what files are touched by a program. It will check on timestamps, md5/sha1/chksum/other checksums, size, permissions, ownerships and more.
cdmtree -x -c -K md5digest >
<run program>
cd
mtree -f
<mtree prints list of files that differ from before program ran>
You can also run mtree with -K chksum to give you a checksum value for the whole directory (do this when you know the directory is 'clean' and write it down). Run mtree each night to generate a new checksum for the directory and then compare the two. If they're not the same, something in your directory tree has changed.
Use ext2 to your advantage (Score:1)
------------
Re:Use ext2 to your advantage (Score:1)
No way! I turned on the computer and found the files in their original location. Sometimes, asynchronous FSs can be helpful
------------
Tracing system calls (Score:1)
This makes a good point... (Score:3)
Test system (Score:1)
Why try to start from scrach is the MS world has been exposed to this for years? Learn from other mistakes.
Versioning filesystem (Score:2)
Certainly, when something like this is available, production-ready, and fast enough, I would choose to use it on all my boxes...
VMWare (Score:1)
Also, the VMWare wrapper will let you monitor anything that goes in or out the virtual machine's network connections, thus enabling you to identify the licence confirmation mechanism.
I'll go back to lurking now.
--
If you want to live in a country ruled by religion, move to Iran.
Re:This is where NT admins have it good :) (Score:1)
Re:This is where NT admins have it good :) (Score:1)
find / > file.list1 ;
So maybe it's changing some files, and not only adding them. Turn off services that would be automatically changing files for a minute(you do all the services that are running on your system and what they are changing and when right?!). Install the app, check modification times for all the files on the system if they are later then the time you intalled the app, the app probably changed them. If I were admining a unix box, and someone suggested installing a FileMon, or SysDiff type tool on my system I'd laugh at them and tell them to write a script just for the point of the matter! I mean come on!
chroot or truss (Score:1)
Pretty simple question (Score:2)
Why not just "find / > beforeinstall.txt" and "find / > afterinstall.txt" and use "diff" to compare them afterwards?
You can use diff to check files in /etc or wherever if you have backups as well.....
Re:installwatch - checkinstall (Score:1)
Re:You're taking this too seriously (Score:1)
This course of action has really paid off. Every server I have put up has not needed any sort of modification/tweaking to this day. The machine goes up, and stays up, reliable as the hardware it is on.
If I were for-hire, I would probably charge per-job, as my machines are very close to self maintaining. Once it's set up, a low-paid lackie could handle it.
Re:You're taking this too seriously (Score:2)
Re:my opinion (Score:2)
Come on now. That's just FUD. All warranties have certain things that will void them. For example, if you buy a new radio and it breaks you may be able to replace it, but if it broke because your 5 year old smashes it with a sledge hammer then you can't replace it because the warranty doesn't cover that.
You simply say something in the warranty like "If you use drivers for this device that were not written by either <your company name> or a company or person who <your company name> has certified, then the warranty on this device will be void." And presto! You are not forced to pay to replace any hardware that someone uses a 3rd party driver on.
Why open source the drivers then? So your consumers have more confidence in the quality, and they can fix bugs themselves and give them back to you.
I realize that this contract prevents users from applying bug fixes that they wrote if they want the warranty, but I think it's a fair compromise. You give the bug fix back to the vendor and they can review it and roll it out in the next version of their driver. Probably won't be as fast as you'd like, but hey, the bug could have not been discovered and fixed at all.
--
Garett
Re:Test it first! (Score:2)
On the other hand, if you're a smaller company with limited resources and you happen to be running Linux, you may want to give serious consideration User-mode Linux [sourceforge.net]. From the site:
"User-Mode Linux gives you a virtual machine that may have more hardware and software virtual resources than your actual, physical computer."
I've played with it a bit and it gives you a complete (and completely sealed off) environment. It creates the entire environment within a file. So you could create the environment you want and then simply make duplicates using cp.
It does require quite a bit of disk space since each VM is a complete system. So, if you want a virutal system with a 2GB filesystem you'll need +2GB of disk space, but heh, disk space is one of the cheaper components, certainly cheaper than a new system.
Also keep in mind that it does "split up" your real system resources so you'll want to make sure you have plenty of RAM if you do any real work with it.
Anyway, check it out and see if will help. Either way, you really do need to seperate test and new "stuff" from production.
SUBTERFUGUE could do this... (Score:1)
(Disclosure: I'm the principal author.)
--Mike
Re:my opinion (Score:2)
Re:You're taking this too seriously (Score:5)
1. The Registry. This piece of utter genious is crucial in an easily-maintained system. Instead of having a bunch of separate configuration files to keep track of, you just have one big binary file which all the install wizards access and change. Sure, sometimes one application screws it up for everything else, but that's no problem. Just re-install everything, no big deal. In this day and age, it's simply ridiculous to consider going back to ASCII text configuration files; it's just too difficult for certified system administrators to read these and edit them. Besides, we can always pass the blame to one of the third-party software vendors. I know that every time I have a computer problem at work and I need to meet a deadline, I can just tell my boss how some non-Microsoft program screwed up my whole system and he'll say "no problem, take as long you need. As long as we're using reliable MS software, we don't need to worry about deadlines."
2. A central location for DLL's. By keeping all the DLL's in one or two directories, and allowing all applications to modify or overwrite them, we achieve breathtaking gains in system efficiency and reliability. Sure, sometimes you'll have minor problems with incompatible versions of the same DLL, but we can just blame that on the non-MS vendor and reinstall everything.
Honestly, you talk like your time is precious or something. What's the big deal if you spend days setting up a system and some big-$$$ application screws it up? You just call their tech support (for $300+ per call) and tell them about your problem, then spend the next week or two redoing everything. And if it messes up that time, do it again. Using the intuitive and attractive Microsoft Windows user interface is such a pleasure, those hours (days, weeks...) will pass in no time. Plus, you can have Clippy (tm) help you! What other software company has such a fantastic, useful innovation?
chroot (Score:2)
Just my 0.02 euros..
J.
installwatch - checkinstall (Score:5)
This is where NT admins have it good :) (Score:2)
It's not often there exists something in the NT world that doesn't have a parallel in *nix land, but this is one of 'em
---
nuclear presidential echelon assassination encryption virulent strain
Change your mount points (Score:3)
The Lottery:
Test it first! (Score:5)
First off, you shouldn't be installing anything untested onto a production server. What your company should have is a box identical in configuration to your production box (or at least a development server. You DO have those, right?).
Install the package on this server first. See what it touches. See if other packages misbehave after this is installed. Above all else, do not touch a production box period unless you've already seen what this program does.
If your staging box blows up, so what? It's happened to me. Nobody really relies on it, and that's what the box is for anyway. No big deal. Document everything that happens when you install on this machine. Since it's exactly the same as your production box, if everything works, then all you have to do is follow your documentation to install onto your production server, and all will work fine.
Trying to install stuff (even in sandboxes or wrappers) onto a server without testing it in a closed environment or staging area first is asking for trouble.
Re:Test it first! (Score:2)
This has been one of my biggest gripes in using anything with an autonomous installation mechanism. We all know that Windows machines can operate under the heavy load of junk and poorly formatted configuration files and dirty system registries. The case is not so simple with a Linux box, especially with a person like me who only has about 5 hours of spare time a day(only a fraction of which I ever really have free to use my computer). It's not quite enough time to go about and map all my
In the interest of fairness, I believe that in any case where someone is recieving money for some piece of software they have authored, there should be some way to remove the program without breaking the system.
You can't ask a normal person to go about trying to find what configuration files a given package has disturbed, or what libraries it has upended or added. And installing development libraries causes whole new realms of problems.. But I think it's obvious where I'm going with this.
Making sure anyone has the opportunity to use a stable operating system platform is the main reason I want to get into linux development..
TRiFIXION
Re:How very defensive, let me clarify... (Score:2)
While not wishing to fan these flames further, there are some (IMHO) good utilities from sysinternals [htp] which allow you to do this for free.
filemon [sysinternals.com] will report file update/access and regmon will report registry update/access. [sysinternals.com]
I haven't tried your examples, but I have found that even if the output from these is rather verbose, given some judicious regular expressions the output can be cut down to manageable size.
One Technique I have used... (Score:4)
If this is an RPM on a linux box use "--root somedir" to prefix things like
If it is just a tar/cpio archive and an associated script to install, read the scripts.
In short, there is no one tool to do this stuff, but it *is* doable by a number of means (on a *nix box) where it is otherwize impossible to do it on a windoze install-wizzard bundle.
Hope this helps some.
Rob.
PS I have also had some luck by looking at the errors generated after trying to run the install as a normal, non priveliged, user.
--
Re:This is where NT admins have it good :) (Score:2)
--