Reference

magpie(8)

Debian reference librarian

NAME

magpie - Debian reference librarian

SYNOPSIS

magpie

DESCRIPTION

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 not associated 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.

SEE ALSO

apt-cache(8), dpkg(8), cron(8), tripwire(8)

BUGS

Magpie does not yet allow specification of target directory or username from command line.

Magpie does not yet support dynamically loaded modules.

Magpie does not lock the apt(8) or dpkg(8) files.

Magpie does not lock the generates a surprising amount of data. Since most of the output will never be viewed, the program compresses the output. You should still have approx. 30 MB available for the Debian 2.2 packages.

Magpie uses a parser constructed by bison(1) and flex(1). The parser is very fast, but very easily confused by unexpected values. Known problems include the new non-US format, old dpkg(8) data, and unofficial packages with strange section information. The problem can usually be fixed by editing the database.

It takes over 10 minute to cross reference 4500 packages (600 installed) on my P-II 300 MHz system. Only 10-15 seconds is required to read and parse the database; about a minute is spent generating the reverse lookups and the rest is spent cross-checking the database and rest of the system.

The detailed pages can be hard to read under lynx(1) due to the extensive use of tables. I have not tested the pages under MSIE(6).

AUTHOR

This manual page was written by Bear Giles <[email protected]>.