Au début de linux, installer un logiciel libre nécessitait de récupérer les sources et de les compiler. Cette étape de compilation pouvait être fastidieuse car il fallait disposer de toutes les librairies utilisées par le logiciel.
Redhat a énormément simplifié ce processus en inventant le format RPM (Redhat Package Manager), format qui propose les logiciels open-source pré-compilés.
Debian s'en est inspiré pour créer le format DEB.
"x" et "y" correspondent aux numéros de version du logiciel.
dpkg.
dpkg est le programme qui permet d'installer, mettre à jour et supprimer un logiciel en format DEB. Sur Redhat, la commande rpm fait la même chose.
Installer un fichier DEB.
L'option -i (i: install) de dpkg (debian package) permet d'installer un fichier DEB :
 # dpkg -i logiciel-x.y.deb
Connaitre la liste de tous les logiciels installés.
L'option -l (l : list) permet de connaitre la liste de tous les logiciels installés :
 # dpkg -l
 ii iamerican 3.1.20.0-4.3 An American English dictionary for ispell
 ii ibritish 3.1.20.0-4.3 A British English dictionary for ispell
 ii icedax 1.1.2-1 Creates WAV files from audio CDs
 ii iceweasel 2.0.0.6-0etch1 lightweight web browser based on Mozilla
 ii iceweasel-gnome-support 2.0.0.6-0etch1 Support for Gnome in Iceweasel
Savoir quel package a installé tel fichier.
L'option -S permet de savoir quel package a installé tel fichier :
 # dpkg -S /etc/crontab
 cron: /etc/crontab
Connaitre le descriptif d'un package installé.
L'option --status permet de consulter le descriptif d'un package installé :
 # dpkg --status dosfstools
 Package: dosfstools
 Status: install ok installed
 Priority: optional
 Section: otherosfs
 Installed-Size: 144
 Maintainer: Roman Hodek <roman@hodek.net>
 Architecture: i386
 Source: dosfstools (2.11-2.1)
 Version: 2.11-2.1+b1
 Replaces: mkdosfs
 Depends: libc6 (>= 2.3.6-6)
 Conflicts: mkdosfs
 Description: Utilities to create and check MS-DOS FAT filesystems
 Inside of this package there are two utilities (mkdosfs alias
 mkfs.dos, and dosfsck alias fsck.msdos) to create and to check MS-DOS
 FAT filesystems on either hard disks or floppies under Linux. This
 version uses the enhanced boot sector/superblock format of DOS 3.3+
 as well as provides a default dummy boot sector code.
On apprend notamment :
Autres options de dpkg.
La commande dpkg dispose d'une page de manuel détaillant toutes les options disponibles :
 # man dpkg
apt-get.
La commande apt-get permet d'installer, mettre à jour et supprimer les logiciels. Le principal avantage d'apt-get par rapport à dpkg est sa capacité à télécharger les packages sur les mirroirs Debian et de résoudre les dépendances nécessaires au logiciel, et ceci de façon récursive.
Installer un logiciel.
L'option install de la commande apt-get permet d'installer un logiciel :
 # apt-get install scribus
 Lecture des listes de paquets... Fait
 Construction de l'arbre des dépendances... Fait
 Les paquets supplémentaires suivants seront installés :
 blt python-imaging python-imaging-tk python-tk tk8.4
 Paquets suggérés :
 blt-demo python-imaging-doc tix scribus-template scribus-doc
 ttf-bitstream-vera
 Les NOUVEAUX paquets suivants seront installés :
 blt python-imaging python-imaging-tk python-tk scribus tk8.4
 0 mis à jour, 6 nouvellement installés, 0 à enlever et 3 non mis à jour.
 Il est nécessaire de prendre 8467ko dans les archives.
 Après dépaquetage, 24,2Mo d'espace disque supplémentaires seront utilisés.
 Souhaitez-vous continuer [O/n] ? 
Note: apt-get install va télécharger tous les packages nécessaires au bon fonctionnement du logiciel, et apeller dpkg -i sur chaque fichier DEB téléchargés.
Il existe plus de 300 miroirs DEBIAN
Rajouter des mirroirs.
On peut rajouter des miroirs à apt-get en modifiant le fichier /etc/apt/sources.list. Ce fichier contient la liste des mirroirs officiels DEBIAN, et on peut rajouter d'autres mirroirs.
 # cat /etc/apt/sources.list
 deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 2007$
 deb http://ftp.fr.debian.org/debian/ etch main contrib non-free
 deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free
 deb http://security.debian.org/ etch/updates main contrib
 deb-src http://security.debian.org/ etch/updates main contrib
On peut rajouter à ce fichier un miroir contenant des fichiers DEB non-intégrés dans les miroirs officiels Debian : 
 deb http://www.virtualbox.org/debian etch non-free
Mettre à jour la liste des logiciels disponibles.
Chaque fois que l'on modifie le fichier /etc/apt/sources.list, il faut lancer la commande apt-get update pour récupérer la liste des nouveaux logiciels :
 # apt-get update
 # apt-get install virtualbox
Note: apt-get utilise la commande wget pour télécharger les fichiers.
Mettre à jour tous les logiciels installés.
L'option upgrade de apt-get prend la liste des paquets installés, regarde sur le dépôt si ces logiciels sont disponibles dans une version plus récentes. Si c'est le cas, cette commande va mettre à jour ces logiciels.
Effacer les fichiers DEB installés.
Par défaut, la commande apt-get conserve tous les fichiers DEB installés dans le répertoire /var/cache/apt/archives.
L'option clean permet d'effacer les fichiers DEB que l'on a installé :
 # apt-get clean
 # ls -l /var/cache/apt/archives
 total 0
Autres options de apt-get.
La commande apt-get dispose d'une page de manuel détaillant toutes les options disponibles :
 # man apt-get
apt-cache.
Chercher un package.
L'option search de la commande apt-cache permet de rechercher un terme sur les paquets installés et non-installés.
 # apt-cache search vob
 gaupol - subtitle editor for text-based subtitle files
 gopchop - Fast, lossless cuts-only editor for MPEG2 video files
 gstreamer0.8-mpeg2dec - MPEG1 and MPEG2 video decoder plugin for GStreamer
 libogg-vorbis-header-pureperl-perl - A pure Perl interface to Ogg Vorbis information fields
 livemedia-utils - multimedia RTSP streaming tools
 mplayer - The Movie Player
 python-vobject - parse iCalendar and VCards in python
 vobcopy - A tool to copy DvD VOBs to hard disk
Voir les informations d'un package.
L'option show de la commande apt-cache permet de voir les informations d'un paquet (installé ou non).
 # apt-cache show k3b
Autres options de apt-cache.
La commande apt-cache dispose d'une page de manuel détaillant toutes les options disponibles :
 # man apt-cache
aptitude.
La commande aptitude est un remplaçant d'apt-get, son principal avantage est de désinstaller les dépendances.
apk.
Si la distribution est basée sur , elle renvoie :
 apt-get: not found
 dpkg: not found
Il faut alors utiliser apk update et apk add. Ex :
 sudo apk add --update telnet
synaptic.
Le programme synaptic permet d'effectuer les mêmes opérations que la commande apt-get depuis l'interface graphique.
Les documentations des packages.
Chaque package Debian est accompagné d'une documentation. Ces documentations se trouvent dans le répertoire /usr/share/doc :
/usr/share/doc/"<nom du package>"/
Certaines documentations sont compressées en gzip afin d'économiser de la place disque. On peut utiliser les commandes zcat, zmore ou zless pour visualiser ces fichiers sans avoir à les décompresser :
 # zmore /usr/share/doc/python/python-policy.txt.gz
Installer un logiciel à partir des sources.
Dans certains cas, on peut être amené à devoir installer un logiciel à partir des fichiers sources :
Pour faire ceci, on télécharge les sources du logiciel et on va les compiler.
Debian fournit un répertoire particulier destiné à accueillir les programmes installés à la main : .
Si on regarde le contenu de ce répertoire, on constate qu'il contient des sous-répertoires déjà présents à la racine :
 # ls /usr/local/
 bin etc games include lib man sbin share src
Ces répertoires vont accueillir tous les fichiers des programmes installés à la main : 
Pour illustrer cette méthodologie, nous allons installer pidgin.
Tout d'abord, on télécharge les fichiers sources du logiciel dans le répertoire /usr/local/src :
 # cd /usr/local/src
 # wget http://downloads.sourceforge.net/pidgin/pidgin-2.3.0.tar.bz2
 # tar xjf pidgin-2.3.0.tar.bz2
 # cd pidgin-2.3.0
La première chose à faire est de lire le fichier :
 # more README
On apprend dans ce fichier qu'il faut lire le fichier pour connaître les dépendances et la procédure pour compiler le logiciel :
 # more INSTALL
Comme dans la majorité des logiciels écrits en langage C, il faut effectuer la procédure standard : ./configure; make; make install .
On lance donc la première commande :
 # ./configure
Cette étape se solde par une erreur : pidgin a besoin de la librairie perl XML parser. On cherche donc le paquet Debian contenant cette librairie :
 # apt-cache search perl xml parser
 libxml-parser-perl - Perl module for parsing XML files
On installe donc le packet libxml-parser-perl :
 # apt-get install libxml-parser-perl
On relance le ./configure :
 # ./configure
Cette étape se solde à nouveau par une erreur : pidgin a besoin de la librairie de développement glib2. On cherche donc le paquet Debian contenant cette librairie et on l'installe :
 # apt-cache search glib 2 dev
 libglib2.0-dev - Development files for the GLib library
 # apt-get install libglib2.0-dev
On relance le ./configure :
 # ./configure
Cette étape se solde à nouveau par une erreur : pidgin a besoin de la librairie de développement xml2. On cherche donc le paquet Debian contenant cette librairie et on l'installe :
 # apt-cache search lib xml2 dev
 libxml2-dev - Development files for the GNOME XML library
 # apt-get install libxml2-dev
On relance le ./configure :
 # ./configure
 Pidgin will be installed in /usr/local/bin.
 configure complete, now type 'make'
Cette fois-ci, l'étape s'est terminée sans erreur et on peut lancer la compilation :
 # make
 # make install
Ca y est (enfin!), le logiciel s'est correctement installé, et l'exécutable a été copié dans le répertoire /usr/local/bin :
 # ls -l /usr/local/bin
 total 2280
 -rwxr-xr-x 1 root staff 2329930 2007-12-07 10:06 pidgin
On peut désormais lancer le logiciel et l'utiliser :
 $ pidgin