debram - look .debs up in the Debian Ramification
debram [ -cwprtxABTXDMNP1lLu.sj?V ] [ -d package ]... [ -m maintainer
]... [ ramification... ]
Debian GNU/Linux provides thousands upon daunting thousands of software
packages. Sorting them into broad classes then dividing and redividing
them into finer, more specific branches, this command ramifies Debian’s
packages in much the same manner as a university library ramifies its
books. If you know what you want your computer to do but do not yet
know the package to do it, you can find the package here.
Give the command
(Omit the ‘c’ option if your terminal has a white background or does
not support color.) Now explore ram 1000 with
debram -cx 1000
Observe the output, then retrieve a plan of ram 1100 with
debram -cp 1100
Repeat the same operation with the abbreviation
debram -cp 11
Again, but with cross-references.
debram -cpx 11
Show the trunk above 1100.
debram -cpt 11
Retrieve 1100’s plan, showing also the trunk.
debram -cptr 11
Enough plans. Let’s look at some packages. Notice 1112 File Listing
and Finding in the previous output, then
debram -cx 1112
(Try adding a -w option to the command if your terminal is at least 132
columns wide.) Now list the same ram in brief.
debram -cXD 1112
Again, and show the trunk this time.
debram -cXDt 1112
Be very brief: list only the package names.
debram -1 1112
Limit the listing to packages currently installed (or dpkg-selected).
dpkg --get-selections | debram -cXDs 1112
What packages does E. Zini keep?
debram -cm ’E. Zini’
Suppose that you have been looking for the tar package, but have not
seen it yet. Find it now.
debram -cd tar
Retrieve the entire Ramification plan.
debram -cp | more -f
Now you know enough to begin using the debram(1) profitably. If you
have or can open a text terminal at least 132 columns wide, you will
also wish to try the -w option:
debram -cxrw 3110 | less -r
(Press ‘q’ to exit less(1).) To view the long, long listing of the
entire ramification at once, enter
debram -cxrw | less -r
omitting the -w if your terminal is only 80 columns wide.
Basic Output Formatting
Color-code the output (recommended).
Output in 132-column format. This is recommended if your
terminal is sufficiently wide. (See below for a way to boot
Linux into a 132x60 terminal.)
Other General Options
Find the named package.
Find all maintainer’s packages.
Print the ramification plan or table of contents. If a
ramification is specified, print a partial plan descending from
it. (Implies -r, except when -t is given.)
Print the entire tree under the given ramification.
-t, --trunk, --recursive-up
Print the trunk above the given ramification. That is, print
the ram, the parent ram, the grandparent ram, and so on, up to
the root of the tree.
Print cross-references in long-form, showing each ram’s title
rather than just its number.
Selective Output Suppression
The -A and -B options focus debram(1)’s overall operation. Usually
debram(1) prints the tables both of end-level ramifications (such as
1311 and 1312, each having a table of Debian packages) and of higher-
level ramifications (such as 1350 and 1300, each having only a table of
subramifications); but you may not always wish the two kinds of tables
intermixed, especially when requesting an -r or -T listing. The -A
(--no-end-level) and -B (--only-end-level) options respectively cause
debram(1) not to print the end-level and higher-level ramification
Omit package tables.
Omit subramification tables.
Omit ramification titles. (Implies -X.)
Omit package descriptions.
Omit names of package maintainers.
Omit per-ramification .deb counts.
Omit package priorities.
Print package names only. This option is equivalent to
Manual Character-Encoding Selection
debram(1) defaults appropriately for your locale, so selecting a
character encoding manually is optional. If your locale is the default
C/POSIX non-locale, then debram(1) defaults to Latin-1—which is
technically nonstandard behavior but for debram is usually the right
thing to do. Use -L if you definitely want pure ascii.
Output and accept arguments in Latin-1 (iso-8859-1).
-L, --ascii, --no-latin1
Output and accept arguments in ascii. (See also the -.
Output and accept arguments in utf-8 (Unicode) rather than
In the output, fill blanks with ascii’s ‘.’ full-stop character
(rather than the middle dot, which ascii does not provide; see
also the -L option).
Print only packages named on stdin. The principal use of this
option is in “dpkg --get-selections | debram -s ...”, which
causes debram to ignore packages you have neither installed nor
selected for installation. As such, the option accepts package
names on standard input, one name per line, each name optionally
followed the word “install” (which debram ignores).
Seldom Used Options
Output the package-priority column all in the same color: do not
Substitute clear-text file for the library data file.
Substitute compressed file for the library data file.
Give a help list.
Give a short usage message.
Print the program version.
A ramification is a branch of the Debian archive whose packages serve
approximately the same application domain or interest similar groups of
users. The first division of the archive follows the traditional
GNU/Linux manpage hierarchy, with ram 1000 corresponding roughly to man
section (1), ram 3000 to section (3), and so forth. Further
subramifications successively focus on tighter domains.
debram(1) works on the ramifications you specify on the command line,
defaulting to the umbrella metaramification 0000 if you specify none.
The useful -r recursive option causes debram(1) to select the named
ramifications plus all subramifications branching recursively from
them. Many rams cross-reference other rams across the tree; by default
the program concisely prints only cross-reference ram numbers, but with
the -x option it prints expanded cross-reference information.
The branch-numbering system needs little explanation, except perhaps in
one respect: a ram number’s count of non-zero digits always reveals its
ram’s level. Thus, for instance, 5060 and 5600 would each be second-
level rams under the top-level 5000, but 5660 would be a third-level
ram under the second-level 5600.
If you give fewer than four ramification digits, debram(1) completes
the number with zeros. Thus 8 is a valid abbreviation for 8000, for
Although the usage is not entirely consistent (even within this
· the top-level rams like 1000 and 8000 are usually called
sections (after the traditional “man section” nomenclature),
· the second-level rams like 1100 and 1200 are usually called
· the third-level rams like 1110 and 1120 are usually called
· the end-level rams like 1121 and 1140 (the latter of which is an
end-level ram despite its number’s ending in a zero) are usually
UPDATING THE LIBRARY DATA
As an autobiographer cannot cover the last events of his life, neither
can debram cover the last packages to enter Debian’s stable release.
Debram is fine as is, but if you prefer complete full coverage, then
after the release you can look for a revised debram-data package
bearing the same number as the version you now have (run “debram -V”
for the number) but with a single letter appended. For example, if you
now have version 1.2.3, then you can look for debram-data version
1.2.3a, 1.2.3b or the like. Besides completing the coverage of the
stable release, such an update will undoubtedly also correct some
errors and oversights; so, it is worth getting if you want it.
The easiest place to get the update if you time it right will be from
Debian’s unstable archive. However, that archive must eventually drop
it in favor of a new development version, which is not what you want if
you are running Debian stable. A more lasting source for the update
(Of course, no update can be guaranteed to appear—what is guaranteed to
appear is the debram-data you already have—but an update did appear for
the last stable release of Debian and is equally likely to appear for
this one. Look for it within four to six months.)
If running Debian stable, you need not and probably should not update
the debram package itself; it suffices to update debram-data.
Furthermore, for Debian stable you should only update to the same
version with the single letter appended, as 1.2.3a. Versions bearing
later numbers (like 1.2.4 or 1.3.0 against 1.2.3) are development
versions toward the following Debian release; they are probably not
what you want.
WIDENING THE LINUX CONSOLE
debram(1) was originally programmed to provide the most easily readable
output when invoked with the -cw options on a 132-column wide terminal—
especially on the standard non-X(7) Linux console (see console(4)).
Fewer users today use the console than used to, and X(7) terminals
typically show 132 columns or more in any case, so it’s not as
important an issue as it used to be. However, some console users may
still be interested to learn how to widen their consoles to the
standard wide-console width of 132 columns. This section of the man
page tells how it can be done, at least on some computer hardware.
Exactly how to widen your Linux console depends on your specific
hardware and OS installation. Nevertheless the following instructions
should lead you in the correct direction.
Print a hard copy of this manpage with
man -Tps 1 debram | lpr
Reboot while holding <Shift> down (without the <Shift>, some
Linux machines are programmed never to offer you a boot prompt).
At the boot prompt, enter
Linux video=vga16:off vga=ask
(Your kernel image may have some other name than “Linux”. Also,
the video= option may not be necessary for you. Adapt your
boot-prompt entry accordingly.)
Notice that the kernel offers you the choice of several video
modes. If you do not yet see 132x60, scan.
Choose 132x60. (The kernel may offer you hexadecimal numbers
but demand decimal numbers in return. If you are reading this
section of the manpage, you probably already know how to convert
hexadecimal to decimal, but if you feel uncertain then refer to
the table in ascii(7).)
If all is well the kernel now boots into a 132x60 console.
The foregoing procedure naturally gives you 132x60 only once: the
kernel returns to 80 columns the next time you boot it. Configuring
the kernel to boot 132x60 by default requires editing /etc/lilo.conf
then running lilo(8) (presuming that you are booting with lilo(8); else
see Grub below). The author has added the lines
to the appropriate stanza of his own /etc/lilo.conf on at least one
machine, but yours may need something slightly different to achieve the
desired effect. (The author got the number 0x123 for his video
hardware during the boot-time video-mode scan referenced above. You
can do likewise to obtain the needed number for your video hardware.)
You may like the 132x60 non-X(7) Linux console. The author does. Try
it if you wish.
The foregoing assumes that you boot your Debian system with lilo(8). A
modern Debian system, however, is more likely booted with grub(8). The
author does not yet know the latter boot system well enough to write a
new man page section on it, but perhaps the present section provides
information even grub(8) users will find of interest or use.
the default library data file (it is human-readable, too)
reference documents including the Command Selection Guide.
LC_ALL, LC_CTYPE, LANG
These variables optionally specify your locale, which determines
how debram(1) outputs non-ascii characters by default. See
locale(7) for general information about locales.
The -c or --color option produces pleasing colors only on a terminal
with a black background, such as xterm and the standard non-X Linux
console. Other common terminals, such as the standard Gnome terminal,
have white backgrounds by default. Users of these terminals probably
will not find the -c option very useful.
Non-i386 architectures enjoy a handful of special packages not
available on i386. Debram does not cover these. Debram probably
should at least cover all the special amd64 packages, but it doesn’t,
Unavoidably in a ramification of this size, several packages
inadvertently yet undoubtedly remain misramified. Report
misramifications sensibly, please, to Debian’s Bug Tracking System. If
you are running Debian stable, please check the latest debram-data in
Debian unstable before reporting the bug.
Thaddeus H. Black <email@example.com>
Although the changelog details the direct parts several have played in
debram development, the author particularly wishes to acknowledge the
contributions of his Debian sponsor Giacomo Catenazzi, whose review and
counsel have made debram significantly better a package than it
otherwise would have been; and of the debtags development team led by
Enrico Zini, who have welcomed the debram (they might easily have done
otherwise) and have gone out of their way to integrate it successfully
into the larger debtags structure.
Copyright (C) 2002-2006 Thaddeus H. Black
debram(1) and all the files included in the debram package are free
software; you can redistribute them and/or modify them under the terms
of the GNU General Public License, Version 2.
dpkg(8), apt-get(8), more(1), less(1), the Command Selection Guide
(included in the standard debram distribution), debtags.deb