magpie8
Debian reference librarian
Usage
magpie
Overview
Magpie is a reference librarian for Debian systems which should be run overnight by cron (8). It reads the apt(8) and dpkg(8) databases and can perform additional tasks specified by dynamically loaded modules. It then generates a number of web pages that should make it easy to answer questions such as:
-
"I've been hearing a lot about MP3 and XML lately. What packages should I consider loading?"
-
"Help! I'm running out of disk space! What packages will give me the most "bang for the buck" if I purge them? What other packages will I have to delete at the same time?"
-
"I see that a new 'foobar' package is available. Before I upgrade, did I make any local changes that I need to preserve?"
-
"What suid programs are
notassociated with a package?"
Magpie first creates extensively cross-referenced reports under /var/cache/magpie. These "reference stacks" provide an individual document with the following details about every package:
-
Name
Descriptive summary
Description
Version
Section and category
Priority
Filename
Maintainer (cross-linked)
Pre-dependency list (cross-referenced)
Dependency list (cross-referenced)
Reverse dependency list (cross-referenced)
Suggestion list (cross-referenced)
Reverse suggestion list (cross-referenced)
Recommendation list (cross-referenced)
Reverse recommendation list (cross-referenced)
MD5 checksum
Package size
Known bugs (link to http://debian.org)
If the package is installed, these documents contain several aditional fields:
-
Installation status
Installed size
Conffiles
Results of running md5sum(1) against package's md5sums list.
Magpie always writes the package lists in tabular format. Packages are normally listed one to a line, but acceptable alternatives are grouped. Each line includes the package name, restrictions (if any), summary, and the installed version (if known).
Magpie then writes several annotated indexes containing the package name, version, installation status, and description (not summary). The indexes include:
- by section
-
All packages are listed, grouped by section and category, then collated by name within each priority.
- by priority
-
All packages are listed, grouped by priority and section, then collated by name within each category.
- by task
-
All "task" packages are listed.
- installed packages
-
All installed packages are listed, collated by name within each category.
Magpie then writes several unannotated indexes containing the package name, installation status and descriptive summary. The indexes include:
- by name
-
All packages are listed, collated by name.
- by maintainer
-
All packages are listed, grouped by maintainer, then collated by name.
- by source
-
All packages are listed, grouped by source package then collated by name.
- by size
-
All packages are listed, sorted by decreasing package size.
- by MD5 checksum
-
All packages are listed, sorted by md5sum. Even reference librarians need to cut loose sometimes.
Magpie then writes a number of "keyword in context (KWIC)" indexes. Due to popular demand, to say nothing of the sheer size of a complete KWIC index, these indexes are now annotated indexes tagged by keywords.
Magpie concludes by writing several special reports. The reports include:
- conffiles
-
All registered "conffiles"
- checksums
-
All packages containing files whose MD5 checksums do not match the declared value. (N.B., this is not a replacement for tripwire!)
- setuid files
-
All files with the "setuid" bit set, cross-referenced to the package which contains them (if identifiable).
Magpie can load modules at run-time, so this list may not be exhaustive.
Finally, a "magpie" is a medium sized bird in the American West which is well known for collecting shiny bits of trash for its nest.