Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jul 2002 11:45:47 +0100
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Lee <lee@unassemble.co.uk>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: File System Monitoring
Message-ID:  <20020706104547.GB7912@happy-idiot-talk.infracaninophi>
In-Reply-To: <002701c2245b$bc1f7fc0$6400a8c0@Administrator>
References:  <002701c2245b$bc1f7fc0$6400a8c0@Administrator>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 05, 2002 at 08:39:50PM +0100, Lee wrote:

> If anyone has read my previous posts, you can probably tell that I
> am new to the whole FreeBSD / UNIX thing. So sorry if my questions
> are a little simple.

Few are born with an instinctual knowledge of Unix.  Fear not: we've
all been there, and even if we can make it seem easy now, we remember
when it was new and difficult.

> Because I use my FreeBSD 4.6 machine purely for learning rather
> product use I am installing a lot of different programs to try them
> out.  What I am looking for is a program that I can run after each
> program is installed to see a the most simple level what files have
> been added, but I would also prefer to be able to see what files
> have been modified.

Hmmm... if you're using ports/packages then

	pkg_info -L pkgname

will show you all of the files installed by that package. 

	pkg_info -g pkgname

will show you all the files belonging to that package that don't match
what was originally installed.  There are some vital files that are
deliberately left out of some packages, for instance, the www/apache2
package doesn't include /usr/local/etc/apache2/httpd.conf --- the
principal configuration file for the apache daemon.  Most daemon
processes installed from ports have sample startup scripts installed
in ${PREFIX}/etc/rc.d, but in such a way that they have to be
deliberately renamed in order to enable the process to automatically
start on reboot.

> I believe this can be done using a combination of find & diff, but
> does anyone know of any good programs that provide more advanced
> options or simply provide better results.

Find(1) can do a lot for you: eg. to find all of the files modified in
the last 24 hours under /usr/local:

	find /usr/local -mtime -1 -print

but diff(1) has the unfortunate requirement that you keep unmodified
copies of the files around for something to compare against.

Perhaps it's not exactly what you were talking about above, but cvs(1)
is designed, in essence, to track modifications to files over time.
The cvsweb.cgi application (ports: devel/cvsweb) gives you a nice
graphical interface with side-by-side comparisons of the difference
between versions of a file.

Look at http://www.freebsd.org/cgi/cvsweb.cgi/ for the canonical
example.  cvsweb.cgi was invented by Bill Fenner as a tool to access
the FreeBSD CVS Repository over the web.  Since then it's been adopted
by many open source projects.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
Tel: +44 1628 476614                                  Marlow
Fax: +44 0870 0522645                                 Bucks., SL7 1TH UK

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020706104547.GB7912>