man debram (Commandes) - look .debs up in the Debian Ramification


debram - look .debs up in the Debian Ramification


debram [ ] [ -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

debram -cx

(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

-c, --color
Color-code the output (recommended).
-w, --wide
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.
-p, --plan
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.)
-r, --recursive
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.
-x, --expand-xref
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 tables.

-A, --no-end-level
Omit package tables.
-B, --only-end-level
Omit subramification tables.
-T, --no-title
Omit ramification titles. (Implies -X.)
-X, --no-xref
Omit cross-references.
-D, --no-desc
Omit package descriptions.
-M, --no-maint
Omit names of package maintainers.
-N, --no-count
Omit per-ramification .deb counts.
-P, --no-pri
Omit package priorities.
-1, --names-only
Print package names only. This option is equivalent to -BTXDMNP.

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.

-l, --latin1
Output and accept arguments in Latin-1.
-L, --ascii, --no-latin1
Output and accept arguments in ascii. (See also the -. option.)
-u, --utf8
Output and accept arguments in utf-8 (Unicode) rather than Latin-1.

Other Options

-., --ascii-dots
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).
-s, --selections
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

-j, --pri-one-color
Output the package-priority column all in the same color: do not differentiate.
Substitute clear-text file for the library data file.
Substitute compressed file for the library data file.


-?, --help
Give a help list.
Give a short usage message.
-V, --version
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 example.

Although the usage is not entirely consistent (even within this manpage),

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 divisions,
the third-level rams like 1110 and 1120 are usually called groups, and
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 called branches.


debram(1) provides 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)). Although it is hardly necessary to widen your console solely for debram(1)'s sake, widening makes the console more useful in many ways; so if you have a reasonably good monitor you may wish to try widening your console in any event.

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”. 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, 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.


debram covers Debian sarge. It serves sarge users well and is recommended for sarge use. However, to simplify the big initial task (now done) of ramifying the fifteen thousand packages of the Debian archive, debram as implemented suffers the design limitation that it can ramify a given package only under one ram at a time. To remove this limitation elegantly and to provide the user generally with much more package processing power, an even better system, debtags, is now under development for the next Debian release, etch.

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.

Unavoidably in a ramification of this size, several packages inadvertently yet undoubtedly remain misramified. Report bugs sensibly, please; but also observe that debram development has now ceased in favor of debtags. For this reason, it is now somewhat improbable that bug reports will lead to official updates to the debram and debram-data packages. The present debram is probably more or less the final debram.

The Command Selection Guide 0.5.2 included in this issue was last updated for woody. Because the Guide's classic subject changes little with time, the hale old Guide will serve you well today and for years to come; but the Guide's branch-numbering system no longer closely parallels that of the main ramification. An update to the Guide is vaguely planned some day. Whether a future edition of the Guide would be packaged with debtags or elsewhere remains to be seen.

Visit for further information on debtags/debram development.


Thaddeus H. Black <>

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-2005 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), dselect(8), apt-get(8), more(1), less(1), the Command Selection Guide (included in the standard debram distribution), debtags.deb