Debian Reference


The debian-installer project introduced package filenames that ends in .udeb. In short, it is a micro-.deb format which doesn't need to follow Debian policy exactly, lacks contents such as documentation and is meant to be used only by the debian-installer, the new Debian installer developed initially for the Sarge release. The file format of .deb and .udeb are identical. The udpkg program used to handle .udeb packages has more limited capabilities than standard dpkg and supports fewer package relationships. The difference in name is because the Debian archive maintainers weren't happy with .debs in the archive that didn't follow policy, so a different name was chosen to accentuate this and to make it less likely that people would unwittingly install them on real systems. .udebs are used in an initial ramdisk during the base install only to create a very restricted Debian system.


This mechanism was provided in order to support safe upgrading of systems from a.out format to ELF format, where the order in which packages were unpacked was critical.


The left-Ctrl-key, the left-Alt-key, and the F1-key are pressed together.


Note that if you edited the greeting message in /etc/motd, this will be different.


I have to admit I used to use the superuser account more often than needed just because it was easy and I was sloppy.


It may also be a good idea to install gpm, emacs21, and doc-linux-html. See Mouse configuration, Section 3.3 and Editors, Chapter 11.


I tend to name this account created during installation as admin but this can be any arbitrary name.


You may want to add this user penguin to the adm group to enable read access to the many logfiles in /var/log/. See passwd(5), group(5), shadow(5), group(5), vipw(8), and vigr(8). For the official meanings of users and groups, see a recent version of the Users and Groups document.


The left-Ctrl-key, the left-Alt-Key, and the Delete are pressed together from the console. In the default system, this will cause system reboot. You need to modify /etc/inittab to have shutdown command with -h option as described in Install a few more packages after initial install, Section 3.8.1.


This is because the Debian system is, even just after the default installation, configured with the proper file permissions which prevent non-privileged user to damage the system. Of course, there may still exist some holes which can be exploited but those who worry about this issue should not be reading this section but should be reading Securing Debian Manual.


The left-Ctrl-key and the d-key are pressed together. No need to press the Shift-key even though these control characters are referred as "control D" with the upper case.


If you enter root instead of penguin here and the corresponding password, you will gain the access to the root account. This procedure will be needed to regain the access to the root account.


If you do not understand what exactly I am talking here, you can do this later.


If one is in a terminal, such as kon and kterm for Japanese, that has issues with certain graphics characters, adding -a to MC's command line may help prevent problems.


Actually, vi or nvi are the programs you find everywhere. I chose vim instead for newbie since it offers you help through F1 key while it is similar enough and more powerful.

If you are uncomfortable with vim, you can keep using mcedit for most system maintenance tasks. Since mcedit is 8-bit clean and dumb (it does not care about text encodings), it sometimes has advantages when editing unknown encoding files. mcedit cannot display UTF-8 files correctly.


In this tutorial chapter, the shell means bash. For more insight into the different shells, see Shell, Section 13.2.


On a normal Linux character console, only the left-hand Ctrl and Alt keys work as expected.


You can disable this terminal feature using stty(1).


In the X Window environment, the mouse functions in the same way with the Xterm program.


Here I use "Unix" in its generic sense. Any Unix clone OSs usually offer the equivalent commands. The Debian system is no exception. Do not worry if some commands do not work as you wish now. These examples are not meant to be executed in this order.


If alias is used in the shell, their outputs are different.


Unix has a tradition to hide filenames which start with ".". They are traditionally files that contain configuration information and user preferences.


Default pager of the bare bone Debian system is more which cannot scroll back. By installing less package using command line apt-get install less, less becomes default pager and you can scroll back with cursor keys.


The [ and ] in the regular expression enable grep to avoid matching itself. The 4* in the regular expression means 0 or more repeats of character 4 thus enables grep to match both exim and exim4. Although * is used in shell filename wild card and regular expression, their meanings are different.


--bzip2 is used here instead of new short option -j to ensure this to work with old version of tar in Potato.


--bzip2 is used here again to ensure compatibility.


Here, I have simplified reality for the newbie. See bash(1) for the exact explanation.


To obtain the following output, you need to install French locale, see Locales, Section 9.7.2. This is not essential for the tutorial. This is done only to indicate its potential effects.


The Debian system is a multi-tasking system.


Directories are called folders on some other systems.


While you can use almost any letters or symbols in a file name, in practice it's a bad idea. It is better to avoid any characters that often have special meanings on the command line, including spaces, tabs, newlines, and other special characters: { } ( ) [ ] ' ` " \ / > < | ; ! # & ^ * % @ $ .

If you want to separate words in a name, good choices are the period, hyphen, and underscore. You could also capitalize each word, LikeThis.


There is also another use for the word path. See Command search path, Section 4.3.6. The intended meaning is usually clear from the context.


Of course this method works only for 3 digit wide numeric mode.


If you track testing or unstable you can remove references to stable from /etc/apt/sources.list and /etc/apt/preferences because testing starts as a copy of stable.


The difference between upgrade and dist-upgrade only appears when new versions of packages stand in different dependency relationships from old versions of those packages. See apt-get(8) for details.

aptitude upgrade and aptitude dist-upgrade start aptitude in the commandline mode. You can switch these to full screen mode by pressing e key.


Some *config scripts are disappearing in the newer Sarge release and the package configuration functionality is moved to the debconf system.


recode allows more convenient aliases than iconv.


End of lines:


Files in /etc/default/ contain environment variable assignments only. Each file is sourced by the init script to which it corresponds in such a way that these assignments override any default variable settings in the init script itself. The choice of directory name is peculiar to Debian. It is roughly the equivalent of the /etc/sysconfig directory found in Red Hat and other distributions.


Though this is not available in Woody, you can install this from Sarge.


The package in Woody does not work as of 8/2002 due to a change in Microsoft's website. Use Sarge version even in Woody instead.


I don't have any xft1 stuff on my machine anymore, so I'm not sure if you need to restart X or not before this change will take effect. I seem to remember that "xftcache" would update the Xft1 cache, but it'd be good if someone could confirm that for me.


Fontconfig does not exist in Woody.


Following sections use exim in examples. For Sarge replace this with exim4 as needed.


You must follow this rule for any hosts on dial-up, DSL, cable services or LAN through some broadband router. Even if your home host has a fixed IP from your ISP, it is still a good idea to follow this rule. Most workstations and home servers fall into this category.


In this example, 2 bug workarounds are deployed for the version of blackbox in 2003. I use sh -c in command. Also ~/.menu/* entry is not used but root requiring /etc/menu/* was used instead.


Use a file name which does not overwrap with any package names.


Use a file name which overwraps with the package name.


The slash in section="/" enables entry to the initial menu, and the leading space in title=" Mozilla Navigator" enables entry to the top of the list.


Note that some Wi-Fi interfaces are really aliases for Ethernet interfaces, giving access to configuration parameters peculiar to Wi-Fi. These parameters are controlled using the iwconfig program.


This is true if IP version 4 is being used. In IPv6 addresses are 128 bits. See


The address of the network can be obtained by bitwise ANDing an address on the network with the net mask. The broadcast address can be obtained by bitwise ORing the network address with the 1's complement of the net mask.


This options file is included using the call option.


As of April 2004 there is also a dhcp-client package available. This contains version 2 of the ISC DHCP Client. This has been superseded by version 3 which is currently packaged as dhcp3-client. The maintainers plan to rename dhcp3-client to dhcp-client after the release of Sarge.

Make sure you do not have the experimental versions of dhcp-client installed. ifupdown does not work with them.


The /etc/network/interfaces file format for current versions of ifupdown is slightly incompatible with the file format for earlier Potato versions of the package. The ifupdown post-installation script should upgrade the file automatically if necessary. However, it is a good idea to check over the converted file.


See bug #196877.


See bug #127786.


This terminology is used in the ifupdown documentation.


Note that the interfaces named on auto lines must be physical interfaces, not logical interfaces.


Note that this leaves the "stop" links (/etc/rc?.d/K??foo) behind. See Runlevels, Section 2.4.2 for more information.


It may also be configured by any hook scripts that have been installed in /etc/hotplug.d/net/. The ifplugd and waproamd packages install hook scripts there, for example.


As of version 0.0.20040329-4 or so, hotplug can optionally be put into modes wherein it behaves differently from how it is described here as behaving. One such mode is so-called "all" mode wherein hotplug brings up all hot plugged interfaces. The other such mode is so-called "auto" mode wherein hotplug brings up interfaces only if they are listed on auto lines in /etc/network/interfaces. In these alternative modes ifup is invoked without the =hotplug suffix.


In past releases of Debian the standard way to configure PCMCIA network cards was through the cardmgr hook scripts /etc/pcmcia/network and /etc/pcmcia/network.opts. These hook scripts were developed in the era before Linux acquired a more general purpose hot plug capability.

Some people still use the Debian Woody scripts in their default state wherein they simply call ifup after the interface is added and ifdown when the interface is removed. As noted above, it is now recommended to use hotplug to do this.

Others still use the special system of calling low level network configuration commands that gets activated when certain variables in /etc/pcmcia/network.opts are set to "y". This system has several problems. It is afflicted by race conditions; it only works for 16 bit PCMCIA cards; it does what is better left to ifupdown to do. Consequently it is deprecated.


Here %nn is used to the encoded character of hexadecimal nn.


The TeX source of this book is available at contains most of the required macros. You can process this document with tex after commenting lines 7 to 10 and adding \input manmac \proofmodefalse.

It's strongly recommended to buy this book (and all other books from Donald E. Knuth) instead of using the online version but the source is a great example of TeX input!


This WEB has nothing to do with World Wide Web. WEB (for PASCAL) and CWEB (for C/C++) are traditional literate-programming tools.

Debian Reference

CVS, Mon Jun 16 21:20:26 UTC 2008

Osamu Aoki
Authors, Section A.1