> 2 Nov 1996 11:52:27 -0000 > Date: Sat, 2 Nov 1996 02:19:15 -0800 > Message-Id: <[EMAIL PROTECTED]>
> From: [EMAIL PROTECTED] > Subject: verify script for Debian packages > Having gotten nervous after almost losing my file system last week, I > wrote a little perl script to go through the file lists in > /var/lib/dpkg/info and check to see that the files are where they're > supposed to be. > To use: move everything from the #!/usr/bin/perl line to the end to a > file named "dpkg-verify", in whatever directory you like--/usr/sbin is > where I put this on my system. Run without arguments, it gives a usage > message that should be pretty self-explanatory. > #-/usr/bin/perl -- > # > # THIS quoted SCRIPT TRUNCATED for sake of brevity in this mailing list. > # > # Please see > # > # Message-Id: <[EMAIL PROTECTED]> > # For the cannonical version of this script. [EMAIL PROTECTED] > # > # $Id: dpkg-verify,v 1.4 1996-10-31 13:35:25-08 gobbel Exp $ > # > # dpkg-verify: Given a list of packages, check to see if any of their files > # are missing. If so, optionally mark the associated package as requiring > # reinstallation, and produce a report listing the missing files. Currently > # no way to check that the files are actually correct, only that they exist. > # NOTE: the "mark" option is currently unimplemented, and may be a bad idea. > > sub usage { > print STDERR <<END; > Usage: dpkg-verify <opts> <package name> ... > > Options: -v|--verbose Output package names as they are processed. > -m|--mark-bad Mark packages with files missing as requiring > reinstallation (unimplemented, dangerous). > -l|--list List missing files to stdout. > -a|--all Check all installed packages. > END > } > THIS quoted SCRIPT TRUNCATED for sake of brevity in this mailing list. Thank you. It's nice. Food for thought. Session log follows (if I'd used tf in a telnet session to the shell, and then su root, what follows is what tf would have logged, including user input.) (/root/perl is in root's PATH, for the below). tingrid # pwd /root/perl # tingrid cat do.a.dpkg-verify.job.sh #!/bin/sh # script name: /root/perl/do.a.dpkg-verify.job.sh # # Will not do anything useful if this next line is omitted: cd /var/lib/dpkg/info dpkg-verify --verbose CGI-modules dpkg-verify --verbose acct dpkg-verify --verbose adduser dpkg-verify --verbose ae dpkg-verify --verbose amd dpkg-verify --verbose aout-xpm dpkg-verify --verbose apache dpkg-verify --verbose ash dpkg-verify --verbose at dpkg-verify --verbose autoconf dpkg-verify --verbose automake dpkg-verify --verbose axe etc. tingrid # pwd /root/perl tingrid # ./do.a.dpkg.job.sh > tail.messages & tingrid # tail -f tail.messages Ok: CGI-modules Ok: acct Ok: adduser Ok: ae Ok: amd Ok: aout-xpm Ok: apache Ok: ash Ok: at Ok: autoconf Ok: automake ***Broken package: axe Missing files: /usr/X11R6/bin/axe /usr/X11R6/bin/coaxe /usr/X11R6/bin/faxe /usr/X11R6/bin/poleaxe /usr/X11R6/bin/axinfo /usr/X11R6/man/man1/axe.1x /usr/X11R6/man/man1/axinfo.1x /usr/X11R6/lib/X11/app-defaults/Axe /usr/X11R6/lib/X11/app-defaults/Axinfo /usr/X11R6/lib/X11/axe.tcl etc. tingrid # pwd /root/perl Christopher W. Hafey ------------------------------------------------------------- [EMAIL PROTECTED] | 1078 New Britain Ave Apt 217 WA1TNR since 1974 | W Hartford Ct USA 06110-2434 http://www.ntplx.net/~tingri | tel. 860-236-5400 ------------------------------------------------------------- -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED]