# Debian GNU/Linux Reference Card

The 101 most important things when using Debian GNU/Linux

## Getting Help

man `page` or man bash

Read online help for every command and many configuration files.

`command` `` `--`help, `-`h

Brief help for most commands.

`/usr/share/doc/`package-name`/`

Find all documentation here, optional file `README.Debian` contains specifics.

Web documentation

Reference, manuals, FAQs, HOWTOs, etc. at `http://www.debian.org/doc/`

Mailing lists at `http://lists.debian.org/`

The community is always helpful, search for `users`.

The Wiki at `http://wiki.debian.org/`

Contains all kind of useful information.

## Installation

Installer

All information about it at `http://www.debian.org/devel/debian-installer/`

CD images

Download from `http://www.debian.org/distrib/`

`boot: expert`

E.g. to set up the network w/o DHCP or using LILO instead of GRUB.

## Bugs

Bug Tracking at `http://bugs.debian.org/`

All about existing and fixed bugs.

Package specific

See `http://bugs.debian.org/`package-name`/`, use `wnpp` to ask for new packages.

reportbug

Report a bug by e-mail.

Reporting

Instructions at `http://www.debian.org/Bugs/Reporting`

## Configuration

`/etc/`

All system configuration files are under directory `/etc/`.

editor `files`

Default text editor. May be `nano`, `emacs`, `vi`, `joe`.

CUPS at `http://hostname:631`

Browser interface to printing system.

dpkg-reconfigure `package-name`

Reconfigure a package, e.g. console-common (keyboard), locales (localisation).

update-alternatives `options`

Manage command alternatives.

update-grub

After changing `/etc/default/grub`.

make-kpkg `--`initrd `--`revision=2:my.1.0 `--`rootcmd fakeroot `--`uc `--`us `kernel_image`

Build a kernel packages from sources, if a customised kernel is really needed, needs `kernel-package`.

m-a a-i module `kernel_image`

Create and install third-party modules (gspca, ...), needs `module-assistant`.

## Daemons and System

`/etc/init.d/`file`` restart

Restart a service, system daemon.

`/etc/init.d/`file`` stop

Stop a service, system daemon.

`/etc/init.d/`file`` start

Start a service, system daemon.

halt, reboot, poweroff

Halts, reboots, shuts down system.

`/var/log/`

All log files are under this directory.

`/etc/default/`

Default values for many daemons and services.

## Important Shell Commands

cat `files`

Print files to screen.

cd `directory`

Change to directory.

cp `files` `dest`

Copy files and directories.

echo `string`

Echo string to screen.

gzip, bzip2, xz `-d` `files`

Compress, uncompress files.

pager `files`

Show contents of files.

ls `files`

List files.

mkdir `directory-names`

Create directories.

mv `file1` `` `file2`

Move, rename files.

rm `files`

Remove files.

rmdir `dirs`

Remove empty directories.

tar c x t z j -f `file`.tar `` `files`

Create, eXtract, list Table of archive file, z, j for `.gz`, `.bz2`.

find `directories expressions`

Find files like `-name `name`` or `-size `+1000``, etc.

grep `search-string` `files`

Find search-string in files.

kill `-9` `number`

Send signal to process (e.g. terminate it).

ln -s `file` `link`

Create a symbolic link to a file.

ps `options`

Show current processes.

su - `username`

Become another user, e.g. `root`.

sudo `command`

Execute a command as `root` as normal user, see `/etc/sudoers`

`command` `>` `file`

Overwrite file with output of command.

`command` `>>` `file`

Append output of command to file.

`cmd1` `|` `cmd2`

Use output of command 1 as input of command 2.

`command` `<` `file`

Use file as input for command.

## APT

apt-get update

Update packages listings from package repositories as listed in `/etc/apt/sources.list`. Required whenever that file or the contents of the repositories change.

apt-cache search `search-string`

Search packages and descriptions for `search-string`.

apt-cache policy `package-names`

Show versions and priorities of available packages.

apt-cache show `package-names`

Show package information incl. description.

apt-cache showpkg `package-names`

Show package dependencies (needed packages).

apt-get install `package-names`

Install packages from repositories with all dependencies.

apt-get upgrade

Install newest versions of all packages currently installed.

apt-get dist-upgrade

Like `apt-get upgrade`, but with advanced conflict resolution.

apt-get remove `package-names`

Remove packages with all needed packages.

apt-get autoremove

Remove packages that no other packages depend on.

apt-cache depends `package-names`

List all packages needed by the one given.

apt-cache rdepends `package-names`

List all packages that need the one given.

apt-file update

Update content listings from package repositories, see `apt-get update`

apt-file search `file-name`

Search packages for file.

apt-file list `package-name`

List contents of a package.

auto-apt

Installs packages automatically if needed, can replace `apt-file`, needs `auto-apt`.

aptitude

Console interface to APT, needs `aptitude`.

synaptic

GUI interface to APT, needs `synaptic`.

## Dpkg

dpkg -l `names`

List packages.

dpkg -I `pkg`.deb

Show package information.

dpkg -c `pkg`.deb

List contents of package file.

dpkg -S `filename`

Show which package a file belongs to.

dpkg -i `pkg`.deb

Install package files.

debsums

Audit check sums of installed packages, needs `debsums`.

dpkg-divert options `file`

Override a package's version of a file.

dpkg `--compare-versions` `` `v1` gt `v2`

Compare version numbers, check with `echo $?`.

dpkg-query -W `--showformat`=`format`

Query installed packages, format e.g. '${Package} ${Version} ${Installed-Size}\n'.

dpkg `--get-selections` > `file`

Write package selections to file.

dpkg `--set-selections` < `file`

Set package selections from file.

## The Network

`/etc/network/interfaces`

Network interface configuration.

ifup, ifdown `device`

Start, stop network interfaces according to files above.

/sbin/ip

Show and manipulate network interfaces and routing, needs `iproute`.

ssh -X `user@host`

Login at other machine.

scp `files` `user@host:path`

Copy files to other machine (and vice versa).

## Web Server (Apache2)

`/etc/apache2/`

Configuration files.

`/etc/apache2/sites-available/`

Contains virtual hosts. To enable a virtual host, use `a2ensite`.

`/etc/apache2/mods-available/`

Contains available modules files. To enable a module, use `a2enmod`.

## File and Print Server (Samba)

`/etc/samba/smb.conf`

Main configuration file.

smbclient

Browse SMB network resources, e.g. download, upload files.