12 février 2014

Sécurité logicielle

La partie logicielle se compose du système d’exploitation et des applications. Nous avons une dépendance. Les applications dépendent du système, lequel repose à son tour sur le matériel.
images/12EI01.png

1. Version des logiciels

Vous devez valider la version du système d’exploitation, à savoir la version de la distribution. Cette dernière définit un noyau Linux, des modules de noyau, des services... qui doivent être stables, prouvés et éprouvés.
Il en est de même pour les applications à utiliser au sein du système.
Il ne sert à rien d’avoir la dernière version d’un logiciel si elle ne vous apporte pas quelque chose. Privilégiez la stabilité et la fiabilité avant tout.

2. Que faut-il installer ?

Vérifiez que vous avez installé les composants nécessaires et utiles au niveau :
  • des logiciels du système ;
  • des modules de noyau ;
  • des services.
Après l’installation du système, vous pouvez supprimer les programmes, les modules et les services qui ont été installés pendant cette procédure et qui sont inutiles. Puis ajoutez ce qu’il manque.

3. Mise à jour

La mise à jour corrige les bogues et apporte des correctifs de sécurité mais le risque est qu’elle peut provoquer d’autres problèmes, lesquels seront à leur tour corrigés et ainsi de suite... Il faut s’assurer de la qualité des correctifs pour éviter un dysfonctionnement.
Vous devez utiliser des dépôts de paquets sûrs et de confiance. Pour Debian et Ubuntu, consultez le fichier /etc/apt/sources.list :
# cat sources.list 
# sources.list 
 
# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 DVD  
Binary-1 20130504-14:44]/ wheezy contrib main 
deb http://debian.proxad.net/debian/ wheezy main non-free contrib 
deb-src http://debian.proxad.net/debian/ wheezy main non-free contrib 
 
deb http://security.debian.org/ wheezy/updates main contrib non-free 
deb-src http://security.debian.org/ wheezy/updates main contrib  
non-free 
 
# wheezy-updates, previously known as ’volatile’ 
deb http://debian.proxad.net/debian/ wheezy-updates main contrib 
non-free 
deb-src http://debian.proxad.net/debian/ wheezy-updates main  
contrib non-free
Pour CentOS, consultez les fichiers placés dans le dossier /etc/yum.repos.d :
# ls -1 /etc/yum.repos.d 
CentOS-Base.repo 
CentOS-Debuginfo.repo 
CentOS-Media.repo 
CentOS-Vault.repo
À titre d’exemple, voici le contenu de CentOS-Base.repo :
# cat CentOS-Base.repo  
# CentOS-Base.repo  
#  
# The mirror system uses the connecting IP address of the client and the  
# update status of each mirror to pick mirrors that are updated to and  
# geographically close to the client. You should use this for CentOS updates 
# unless you are manually picking other mirrors.  
#  
# If the mirrorlist= does not work for you, as a fall back you can try the  
# remarked out baseurl= line instead.  
#  
#  
 
[base]  
name=CentOS-$releasever - Base  
mirrorlist=http://mirrorlist.centos.org/? 
release=$releasever&arch=$basearch&repo=os  
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  
 
#released updates  
[updates]  
name=CentOS-$releasever - Updates  
mirrorlist=http://mirrorlist.centos.org/? 
release=$releasever&arch=$basearch&repo=updates  
#baseurl=http://mirror.centos.org/centos/$releasever/updates/ 
$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  
 
#additional packages that may be useful  
[extras]  
name=CentOS-$releasever - Extras  
mirrorlist=http://mirrorlist.centos.org/? 
release=$releasever&arch=$basearch&repo=extras  
#baseurl=http://mirror.centos.org/centos/$releasever/extras 
/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  
 
#additional packages that extend functionality of existing  
packages  
[centosplus]  
name=CentOS-$releasever - Plus  
mirrorlist=http://mirrorlist.centos.org 
release=$releasever&arch=$basearch&repo=centosplus  
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/ 
$basearch/  
gpgcheck=1  
enabled=0  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  
 
#contrib - packages by Centos Users  
[contrib]  
name=CentOS-$releasever - Contrib  
mirrorlist=http://mirrorlist.centos.org/? 
release=$releasever&arch=$basearch&repo=contrib  
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/ 
$basearch/  
gpgcheck=1  
enabled=0  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 

4. Gérer des paquets deb avec apt

Pour bien gérer vos paquets, vous disposez des commandes suivantes utilisables en ligne de commande (Command Line Interface) :
  • apt-get : elle permet d’effectuer l’installation et la désinstallation facile de paquets en provenance d’un dépôt APT. Cette commande nécessite les droits d’administration. Elle s’utilise avec une sous-commande telle que install, update, remove...qui décrit le type d’action demandé à APT.
  • apt-cache : elle permet d’effectuer quelques manipulations basiques sur les paquets, installés ou non, disponibles dans la liste mise en cache des paquets des dépôts APT configurés. Cette commande ne nécessite pas les droits d’administration. Elle s’utilise avec une sous-commande telle que show, policy, search... qui décrit le type d’action demandé à APT.
  • Apt-file : elle permet d’interroger la liste des fichiers contenus dans tous les paquets, qu’ils soient installés ou non. Cette commande doit être installée.
  • apt-show-versions : elle permet d’analyser le fichier status de dpkg et les listes d’APT pour trouver les versions des paquets installés, les versions des paquets disponibles et la distribution. Cette commande doit être installée.
  • apt-rdepends : elle permet de chercher à travers le cache APT pour trouver les dépendances d’un paquet. Cette commande doit être installée.

a. Installer un paquet

Il faut utiliser la commande apt-get install :
# apt-get install openssh-server 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Paquets suggérés : 
  ssh-askpass rssh molly-guard ufw monkeysphere 
Les NOUVEAUX paquets suivants seront installés : 
  openssh-server 
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à  
jour. 
Il est nécessaire de prendre 339 ko dans les archives. 
Après cette opération, 725 ko d’espace disque supplémentaires  
seront utilisés. 
Réception de : 1 http://debian.proxad.net/debian/ wheezy/main  
openssh-server amd64 1:6.0p1-4 [339 kB] 
339 ko réceptionnés en 0s (394 ko/s)     
Préconfiguration des paquets... 
Sélection du paquet openssh-server précédemment désélectionné. 
(Lecture de la base de données... 160570 fichiers et répertoires  
déjà installés.) 
Dépaquetage de openssh-server (à partir de .../openssh- 
server_1%3a6.0p1-4_amd64.deb) ... 
Traitement des actions différées (« triggers ») pour « man-db »... 
Paramétrage de openssh-server (1:6.0p1-4) ... 
Creating SSH2 RSA key; this may take some time ... 
Creating SSH2 DSA key; this may take some time ... 
Creating SSH2 ECDSA key; this may take some time ... 
[ ok ] Restarting OpenBSD Secure Shell server: sshd.
Si toutefois des dépendances sont nécessaires pour installer l’application, apt-get propose de les installer.

b. Rechercher des paquets

Rechercher un paquet s’effectue avec apt-cache search :
# apt-cache search openssh-server 
openssh-server - secure shell (SSH) server, for secure access from  
remote machines
Utilisez des métacaractères pour trouver un paquet dont vous ne connaissez pas exactement le nom :
# apt-cache search ˆopenj 
libostyle-dev - OpenJade libraries, developer support 
openjade1.3 - Implementation of the DSSSL language 
openjdk-6-dbg - Java runtime based on OpenJDK (debugging symbols) 
openjdk-6-demo - Java runtime based on OpenJDK (demos and examples) 
openjdk-6-doc - OpenJDK Development Kit (JDK) documentation 
openjdk-6-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark 
openjdk-6-source - OpenJDK Development Kit (JDK) source files 
openjdk-7-dbg - Java runtime based on OpenJDK (debugging symbols) 
openjdk-7-demo - Java runtime based on OpenJDK (demos and examples) 
openjdk-7-doc - OpenJDK Development Kit (JDK) documentation 
openjdk-7-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark 
openjdk-7-source - OpenJDK Development Kit (JDK) source files 
openjpeg-tools - command-line tools using the JPEG 2000 library 
libosp-dev - OpenJade group’s SP suite, developer support 
opensp - OpenJade group’s SGML parsing tools 
openjade - mise en œuvre du langage DSSSL 
openjdk-6-jdk - kit de développement OpenJDK - JDK 
openjdk-6-jre - environnement d’exécution Java OpenJDK qui utilise  
Hotspot JIT 
openjdk-6-jre-headless - environnement d’exécution Java OpenJDK  
utilisant Hotspot JIT 
openjdk-6-jre-lib - environnement d’exécution Java OpenJDK -  
bibliothèques indépendantes de l’architecture 
openjdk-7-jdk - kit de développement OpenJDK - JDK 
openjdk-7-jre - environnement d’exécution Java OpenJDK qui utilise  
Hotspot JIT 
openjdk-7-jre-headless - environnement d’exécution Java OpenJDK  
utilisant Hotspot JIT 
openjdk-7-jre-lib - environnement d’exécution Java OpenJDK -  
bibliothèques indépendantes de l’architecture

c. Afficher la description d’un paquet

La sous-commande apt-cache show permet d’afficher la description d’un paquet :
# apt-cache show openssh-server 
Package: openssh-server 
Source: openssh 
Version: 1:6.0p1-4 
Installed-Size: 708 
Maintainer: Debian OpenSSH Maintainers <debian- 
ssh@lists.debian.org> 
Architecture: amd64 
Replaces: openssh-client (<< 1:3.8.1p1-11), ssh, ssh-krb5 
Provides: ssh-server 
Depends: libc6 (>= 2.8), libcomerr2 (>= 1.01), libgssapi-krb5-2  
(>= 1.10+dfsg~), libkrb5-3 (>= 1.6.dfsg.2), libpam0g (>=  
0.99.7.1), libselinux1 (>= 1.32), libssl1.0.0 (>= 1.0.1), libwrap0  
(>= 7.6-4~), zlib1g (>= 1:1.1.4), debconf (>= 1.2.0) | debconf- 
2.0, openssh-client (= 1:6.0p1-4), libpam-runtime (>= 0.76-14),  
libpam-modules (>= 0.72-9), adduser (>= 3.9), dpkg (>= 1.9.0),  
lsb-base (>= 3.2-13), procps 
Recommends: xauth, ncurses-term, openssh-blacklist, openssh- 
blacklist-extra 
Suggests: ssh-askpass, rssh, molly-guard, ufw, monkeysphere 
Conflicts: rsh-client (<< 0.16.1-1), sftp, ssh (<< 1:3.8.1p1-9),  
ssh-krb5 (<< 1:4.3p2-7), ssh-nonfree (<< 2), ssh-socks, ssh2 
Description-fr: serveur shell sécurisé (SSH), pour accèder à des  
machines à distance 
 Il s’agit d’une version portable de OpenSSH, l’implémentation libre du 
 protocole SSH tel qu’il a été défini par le groupe de travail « secsh » 
 de l’IETF. 
 . 
 Ssh (Secure Shell) est un programme qui permet de se connecter à une 
 machine distante et d’y exécuter des commandes. Il fournit des 
 communications sécurisées et chiffrées entre deux hôtes non fiables à 
 travers un réseau non sécurisé. Les connexions X11 ainsi que tout port 
 TCP/IP peuvent également être redirigés dans ce canal sécurisé.  
Il peut être utilisé pour fournir des canaux de communication sécurisés à des applications. 
 . 
 Ce paquet fournit le serveur sshd. 
 . 
 Dans certains pays, il peut être illégal d’utiliser du chiffrement, quel 
 qu’il soit, sans autorisation. 
 . 
 sshd remplace le programme non sécurisé rshd qui est obsolète pour la 
 plupart des usages. 
Multi-Arch: foreign 
Homepage: http://www.openssh.org/ 
Description-md5: 842cc998cae371b9d8106c1696373919 
Tag: admin::login, implemented-in::c, interface::daemon,  
network::server, 
 protocol::ssh, role::program, security::authentication, 
 security::cryptography, use::login, use::transmission 
Section: net 
Priority: optional 
Filename: pool/main/o/openssh/openssh-server_6.0p1-4_amd64.deb 
Size: 339018 
MD5sum: fd7c78cc339f6f845b2ed8ef53b718a9 
SHA1: edfa57f1370d88fc7e5826aa905d533efdac388d 
SHA256:  
0a7f042df7400a0f964e65baee90b65426af8d85b28919ce12cda99e61b749d0

d. Afficher les dépendances

Nous avons plusieurs solutions pour identifier les dépendances d’un paquet.
Première solution
La commande apt-cache depends liste toutes les dépendances nécessaires d’un paquet :
# apt-cache depends openssh-server 
openssh-server 
  Dépend: libc6 
  Dépend: libcomerr2 
  Dépend: libgssapi-krb5-2 
  Dépend: libkrb5-3 
  Dépend: libpam0g 
  Dépend: libselinux1 
  Dépend: libssl1.0.0 
  Dépend: libwrap0 
  Dépend: zlib1g 
 |Dépend: debconf 
  Dépend: <debconf-2.0> 
    cdebconf 
    debconf 
  Dépend: openssh-client 
  Dépend: libpam-runtime 
  Dépend: libpam-modules 
  Dépend: adduser 
  Dépend: dpkg 
  Dépend: lsb-base 
  Dépend: procps 
  Suggère: ssh-askpass 
    ksshaskpass 
    kwalletcli 
    ssh-askpass-fullscreen 
    ssh-askpass-gnome 
  Suggère: rssh 
  Suggère: molly-guard 
  Suggère: ufw 
  Suggère: monkeysphere 
  Recommande: xauth 
  Recommande: ncurses-term 
  Recommande: openssh-blacklist 
  Recommande: openssh-blacklist-extra 
  Est en conflit avec: rsh-client 
  Est en conflit avec: <sftp> 
  Est en conflit avec: ssh 
  Est en conflit avec: ssh-krb5 
  Est en conflit avec: <ssh-nonfree> 
  Est en conflit avec: <ssh-socks> 
  Est en conflit avec: <ssh2> 
  Remplace: openssh-client 
  Remplace: ssh 
  Remplace: ssh-krb5
Deuxième solution
Elle consiste à utiliser la commande apt-rdepends qui n’est pas généralement installée par défaut dans le système :
# apt-get -y install apt-rdepends 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Les paquets supplémentaires suivants seront installés :  
  libapt-pkg-perl 
Paquets suggérés : 
  vcg springgraph graphviz 
Les NOUVEAUX paquets suivants seront installés : 
  apt-rdepends libapt-pkg-perl 
0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à  
jour. 
Il est nécessaire de prendre 99,6 ko dans les archives. 
Après cette opération, 319 ko d’espace disque supplémentaires  
seront utilisés. 
Réception de : 1 http://debian.proxad.net/debian/ wheezy/main  
libapt-pkg-perl amd64 0.1.26+b1 [84,7 kB] 
Réception de : 2 http://debian.proxad.net/debian/ wheezy/main apt- 
rdepends all 1.3.0-3 [14,8 kB] 
99,6 ko réceptionnés en 0s (210 ko/s)               
Sélection du paquet libapt-pkg-perl précédemment désélectionné. 
(Lecture de la base de données... 160588 fichiers et répertoires  
déjà installés.) 
Dépaquetage de libapt-pkg-perl (à partir de .../libapt-pkg- 
perl_0.1.26+b1_amd64.deb) ... 
Sélection du paquet apt-rdepends précédemment désélectionné. 
Dépaquetage de apt-rdepends (à partir de .../apt-rdepends_1.3.0- 
3_all.deb) ... 
Traitement des actions différées (« triggers ») pour « man-db »... 
Paramétrage de libapt-pkg-perl (0.1.26+b1) ... 
Paramétrage de apt-rdepends (1.3.0-3) ...
Maintenant, voici l’utilisation de la commande :
# apt-rdepends openssh-server 
Reading package lists... Done 
Building dependency tree        
Reading state information... Done 
openssh-server 
  Depends: adduser (>= 3.9) 
  Depends: debconf (>= 1.2.0) 
  Depends: debconf-2.0 
  Depends: dpkg (>= 1.9.0) 
  Depends: libc6 (>= 2.8) 
  Depends: libcomerr2 (>= 1.01) 
  Depends: libgssapi-krb5-2 (>= 1.10+dfsg~) 
  Depends: libkrb5-3 (>= 1.6.dfsg.2) 
  Depends: libpam-modules (>= 0.72-9) 
  Depends: libpam-runtime (>= 0.76-14) 
  Depends: libpam0g (>= 0.99.7.1) 
  Depends: libselinux1 (>= 1.32) 
  Depends: libssl1.0.0 (>= 1.0.1) 
  Depends: libwrap0 (>= 7.6-4~) 
  Depends: lsb-base (>= 3.2-13) 
  Depends: openssh-client (= 1:6.0p1-4) 
  Depends: procps 
  Depends: zlib1g (>= 1:1.1.4) 
adduser 
  Depends: debconf 
  Depends: debconf-2.0 
  Depends: passwd (>= 1:4.0.12) 
  Depends: perl-base (>= 5.6.0) 
debconf 
  PreDepends: perl-base (>= 5.6.1-4) 
perl-base 
  PreDepends: dpkg (>= 1.14.20) 
  PreDepends: libc6 (>= 2.11) 
dpkg 
  PreDepends: libbz2-1.0 
  PreDepends: libc6 (>= 2.11) 
  PreDepends: liblzma5 (>= 5.1.1alpha+20120614) 
  PreDepends: libselinux1 (>= 1.32) 
  PreDepends: tar (>= 1.23) 
  PreDepends: zlib1g (>= 1:1.1.4) 
libbz2-1.0 
  Depends: libc6 (>= 2.4) 
  PreDepends: multiarch-support 
libc6 
  Depends: libc-bin (= 2.13-38) 
  Depends: libgcc1 
 
...
Troisième solution
La commande apt-cache showpkg permet également l’affichage des dépendances :
# apt-cache showpkg openssh-server 
Package: openssh-server 
Versions:  
1:6.0p1-4  
(/var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_bin 
ary-amd64_Packages) (/var/lib/dpkg/status) 
 Description Language:  
                 File:  
/var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_bina 
ry-amd64_Packages 
                  MD5: 842cc998cae371b9d8106c1696373919 
 Description Language: en 
                 File:  
/var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_i18n 
_Translation-en 
                  MD5: 842cc998cae371b9d8106c1696373919 
 Description Language: fr 
                 File 
/var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_i18n 
_Translation-fr 
                  MD5: 842cc998cae371b9d8106c1696373919 
 
 
Reverse Depends:  
  xpra,openssh-server 
  x2goplugin,openssh-server 
  x2goclient,openssh-server 
  vpnc-scripts,openssh-server 
  task-ssh-server,openssh-server 
  sslh,openssh-server 
  ssh-contact-service,openssh-server 
  slack,openssh-server 
  rsync,openssh-server 
  rssh,openssh-server 
  piuparts-master,openssh-server 
  ssh-krb5,openssh-server 
  ssh,openssh-server 
  opennebula-node,openssh-server 
  oar-server,openssh-server 
  oar-node,openssh-server 
  watch-maildirs,openssh-server 
  monkeysphere,openssh-server 
  molly-guard,openssh-server 
  mercurial-server,openssh-server 
  python-lunch,openssh-server 
  ltsp-server-standalone,openssh-server 
  ltsp-server,openssh-server 
  ldm-server,openssh-server 
  lam-runtime,openssh-server 
  kup-server,openssh-server 
  gridengine-exec,openssh-server 
  gitolite,openssh-server 
  gesftpserver,openssh-server 
  ganeti2,openssh-server 
  fai-server,openssh-server 
  login-duo,openssh-server 
  dtc-xen,openssh-server 
  apt-dater-host,openssh-server 
  ajaxterm,openssh-server 
Dependencies:  
1:6.0p1-4 - libc6 (2 2.8) libcomerr2 (2 1.01) libgssapi-krb5-2 (2  
1.10+dfsg~) libkrb5-3 1.6.dfsg.2) libpam0g (2 0.99.7.1)  
libselinux1 (2 1.32) libssl1.0.0 (2 1.0.1) libwrap0 (2 7.6-4~)  
zlib1g (2 1:1.1.4) debconf (11.2.0) debconf-2.0 (0 (null))  
openssh-client (5 1:6.0p1-4) libpam-runtime (2 0.76-14) libpam- 
modules (2 0.72-9) adduser (2 3.9) dpkg (2 1.9.0) lsb-base (2 3.2- 
13) procps (0 (null)) ssh-askpass (0 (null)) rssh (0 (null))  
molly-guard (0 (null)) ufw (0 (null)) monkeysphere (0 (null))  
xauth (0 (null)) ncurses-term (0 (null)) openssh-blacklist (0  
(null)) openssh-blacklist-extra (0 (null)) rsh-client (3 0.16.1-1)  
sftp (0 (null)) ssh (3 1:3.8.1p1-9) ssh-krb5 (3 1:4.3p2-7) ssh- 
nonfree (3 2) ssh-socks (0 (null)) ssh2 (0 (null)) openssh-client  
(3 1:3.8.1p1-11) ssh (0 (null)) ssh-krb5 (0 (null))  
Provides:  
1:6.0p1-4 - ssh-server  
Reverse Provides: 

e. Installer les dépendances

L’utilisation de apt-get build-dep installe les dépendances nécessaires pour construire le paquet donné en argument.
Voici un exemple qui montre comment installer les dépendances de Qt :
# apt-get -y build-dep libqt4-dev 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Choix de « qt4-x11 » comme paquet source à la place de « libqt4- 
dev » 
Note : sélection de « libjpeg8-dev » au lieu de « libjpeg-dev » 
Les paquets suivants seront ENLEVÉS : 
  libqtwebkit-dev 
Les NOUVEAUX paquets suivants seront installés : 
  comerr-dev firebird-dev firebird2.5-common firebird2.5-common- 
doc flex freetds-common freetds-dev krb5-multidev libasound2-dev  
libaudio-dev libct4 
  libcups2-dev libdbus-1-dev libfbclient2 libgcrypt11-dev  
libgnutls-dev libgnutls-openssl27 libgnutlsxx27 libgpg-error-dev  
libgssrpc4 
  libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libib- 
util libicu-dev libjbig-dev libjpeg8-dev libkadm5clnt-mit8  
libkadm5srv-mit8 libkdb5-6 
  libkrb5-dev liblcms1-dev libltdl-dev libmng-dev libmysqlclient- 
dev libodbc1 libp11-kit-dev libpam0g-dev libpq-dev libpq5  
libreadline-dev libreadline6-dev 
  libsqlite0 libsqlite0-dev libsqlite3-dev libssl-dev libsybdb5  
libtasn1-3-dev libtiff4-dev libtiffxx0c2 libxmu-dev libxmu-headers  
libxslt1-dev libxt-dev 
  libxtst-dev libxv-dev odbcinst odbcinst1debian2 pkg-kde-tools  
unixodbc unixodbc-dev x11proto-record-dev x11proto-video-dev 
0 mis à jour, 62 nouvellement installés, 1 à enlever et 0 non mis  
à jour. 
Il est nécessaire de prendre 23,4 Mo dans les archives. 
Après cette opération, 86,7 Mo d’espace disque supplémentaires  
seront utilisés. 
Réception de : 1 http://debian.proxad.net/debian/ wheezy/main  
libgnutls-openssl27 amd64 2.12.20-7 [221 kB] 
Réception de : 2 http://security.debian.org/ wheezy/updates/main  
libgssrpc4 amd64 1.10.1+dfsg-5+deb7u1 [87,5 kB] 
Réception de : 3 http://security.debian.org/ wheezy/updates/main  
libkadm5clnt-mit8 amd64 1.10.1+dfsg-5+deb7u1 [67,7 kB] 
Réception de : 4 http://security.debian.org/ wheezy/updates/main  
libkdb5-6 amd64 1.10.1+dfsg-5+deb7u1 [66,9 kB] 
Réception de : 5 http://debian.proxad.net/debian/ wheezy/main flex  
amd64 2.5.35-10.1 [332 kB] 
 
                                ... 
 
Extraction des modèles depuis les paquets : 100% 
(Lecture de la base de données... 160625 fichiers et répertoires  
déjà installés.) 
Suppression de libqtwebkit-dev ... 
Sélection du paquet libgnutls-openssl27:amd64 précédemment  
désélectionné. 
(Lecture de la base de données... 160583 fichiers et répertoires  
déjà installés.) 
Dépaquetage de libgnutls-openssl27:amd64 (à partir de  
.../libgnutls-openssl27_2.12.20-7_amd64.deb) ... 
Sélection du paquet libgssrpc4:amd64 précédemment désélectionné. 
Dépaquetage de libgssrpc4:amd64 (à partir de  
.../libgssrpc4_1.10.1+dfsg-5+deb7u1_amd64.deb) ... 
Sélection du paquet libkadm5clnt-mit8:amd64 précédemment  
désélectionné. 
 
                                ... 
 
Traitement des actions différées (« triggers ») pour « install- 
info »... 
Traitement des actions différées (« triggers ») pour « man-db »... 
Paramétrage de libgnutls-openssl27:amd64 (2.12.20-7) ... 
Paramétrage de libgssrpc4:amd64 (1.10.1+dfsg-5+deb7u1) ... 
Paramétrage de libkadm5clnt-mit8:amd64 (1.10.1+dfsg-5+deb7u1) ... 
Paramétrage de libkdb5-6:amd64 (1.10.1+dfsg-5+deb7u1) ... 
Paramétrage de libkadm5srv-mit8:amd64 (1.10.1+dfsg-5+deb7u1) ... 
Paramétrage de flex (2.5.35-10.1) ... 
Paramétrage de freetds-common (0.91-2) ... 
 
                                ... 

f. Les informations d’un paquet

La commande apt-cache policy affiche les versions des paquets indiqués et leur statut :
# apt-cache policy openssh-server 
openssh-server: 
  Installé : 1:6.0p1-4 
  Candidat : 1:6.0p1-4 
 Table de version : 
 *** 1:6.0p1-4 0 
        500 http://debian.proxad.net/debian/ wheezy/main amd64  
Packages 
        100 /var/lib/dpkg/status

g. Identifier le dépôt d’un paquet

La commande apt-cache madison affiche le dépôt fournissant les paquets spécifiés :
# apt-cache madison openssh-server 
openssh-server |  1:6.0p1-4 | http://debian.proxad.net/debian/  
wheezy/main amd64 Packages 
   openssh |  1:6.0p1-4 | http://debian.proxad.net/debian/  
wheezy/main Sources

h. Provenance d’un fichier

Pour savoir dans quel paquet se trouve un fichier, nous pouvons utiliser apt-file. Comme cet outil n’est pas installé de base, nous devons l’installer :
# apt-get -y install apt-file 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Le paquet suivant a été installé automatiquement et n’est plus  
nécessaire : 
  libqtwebkit4 
Veuillez utiliser « apt-get autoremove » pour le supprimer. 
Les paquets supplémentaires suivants seront installés :  
  curl libconfig-file-perl libcurl3 liblist-moreutils-perl  
libregexp-assemble-perl 
Les NOUVEAUX paquets suivants seront installés : 
  apt-file curl libconfig-file-perl libcurl3 liblist-moreutils- 
perl libregexp-assemble-perl 
0 mis à jour, 6 nouvellement installés, 0 à enlever et 0 non mis à  
jour. 
Il est nécessaire de prendre 767 ko dans les archives. 
Après cette opération, 1 439 ko d’espace disque supplémentaires  
seront utilisés. 
Réception de : 1 http://debian.proxad.net/debian/ wheezy/main  
libconfig-file-perl all 1.50-2 [10,0 kB] 
Réception de : 2 http://debian.proxad.net/debian/ wheezy/main  
liblist-moreutils-perl amd64 0.33-1+b1 [52,5 kB] 
Réception de : 3 http://debian.proxad.net/debian/ wheezy/main  
libregexp-assemble-perl all 0.35-7 [69,8 kB] 
Réception de : 4 http://debian.proxad.net/debian/ wheezy/main apt- 
file all 2.5.1 [33,3 kB] 
Réception de : 5 http://security.debian.org/ wheezy/updates/main  
libcurl3 amd64 7.26.0-1+wheezy3 [331 kB] 
Réception de : 6 http://security.debian.org/ wheezy/updates/main  
curl amd64 7.26.0-1+wheezy3 [270 kB] 
767 ko réceptionnés en 6s (118 ko/s)  
Sélection du paquet libcurl3:amd64 précédemment désélectionné. 
(Lecture de la base de données... 163380 fichiers et répertoires  
déjà installés.) 
Dépaquetage de libcurl3:amd64 (à partir de .../libcurl3_7.26.0- 
1+wheezy3_amd64.deb) ... 
Sélection du paquet curl précédemment désélectionné. 
Dépaquetage de curl (à partir de .../curl_7.26.0- 
1+wheezy3_amd64.deb) ... 
Sélection du paquet libconfig-file-perl précédemment  
désélectionné. 
Dépaquetage de libconfig-file-perl (à partir de .../libconfig- 
file-perl_1.50-2_all.deb) ... 
Sélection du paquet liblist-moreutils-perl précédemment  
désélectionné. 
Dépaquetage de liblist-moreutils-perl (à partir de .../liblist- 
moreutils-perl_0.33-1+b1_amd64.deb) ... 
Sélection du paquet libregexp-assemble-perl précédemment  
désélectionné. 
Dépaquetage de libregexp-assemble-perl (à partir de .../libregexp- 
assemble-perl_0.35-7_all.deb) ... 
Sélection du paquet apt-file précédemment désélectionné. 
Dépaquetage de apt-file (à partir de .../apt- 
file_2.5.1_all.deb) ... 
Traitement des actions différées (« triggers ») pour « man-db »... 
Paramétrage de libcurl3:amd64 (7.26.0-1+wheezy3) ... 
Paramétrage de curl (7.26.0-1+wheezy3) ... 
Paramétrage de libconfig-file-perl (1.50-2) ... 
Paramétrage de liblist-moreutils-perl (0.33-1+b1) ... 
Paramétrage de libregexp-assemble-perl (0.35-7) ... 
Paramétrage de apt-file (2.5.1) ... 
The system-wide cache is empty. You may want to run ’apt-file  
update’ 
as root to update the cache. You can also run ’apt-file update’ as 
normal user to use a cache in the user’s home directory.
Puis, il faut construire la base de données :
# apt-file update 
Downloading complete file  
http://debian.proxad.net/debian/dists/wheezy/main/Contents- 
amd64.gz 
  % Total    % Received % Xferd  Average Speed   Time    Time      
Time  Current 
                                 Dload  Upload   Total   Spent     
Left  Speed 
100 20.4M  100 20.4M    0     0   762k      0  0:00:27  0:00:27  
--:--:--  766k 
Downloading complete file  
http://debian.proxad.net/debian/dists/wheezy/non-free/Contents- 
amd64.gz 
  % Total    % Received % Xferd  Average Speed   Time    Time      
Time  Current 
                                 Dload  Upload   Total   Spent     
Left  Speed 
100  727k  100  727k    0     0   654k      0  0:00:01  0:00:01  
--:--:--  698k 
Downloading complete file  
http://debian.proxad.net/debian/dists/wheezy/contrib/Contents- 
amd64.gz 
  % Total    % Received % Xferd  Average Speed   Time    Time      
Time  Current 
                                 Dload  Upload   Total   Spent     
Left  Speed 
100 73455  100 73455    0     0   295k      0 --:--:-- --:--:--  
--:--:--  417k 
Ignoring source without Contents File: 
  http://security.debian.org/dists/wheezy/updates/main/Contents- 
amd64.gz 
Ignoring source without Contents File: 
  http://security.debian.org/dists/wheezy/updates/contrib/Contents- 
amd64.gz 
Ignoring source without Contents File: 
  http://security.debian.org/dists/wheezy/updates/non- 
free/Contents-amd64.gz 
Downloading complete file  
http://debian.proxad.net/debian/dists/wheezy- 
updates/main/Contents-amd64.gz 
  % Total    % Received % Xferd  Average Speed   Time    Time      
Time  Current 
                                 Dload  Upload   Total   Spent     
Left  Speed 
100 20815  100 20815    0     0   115k      0 --:--:-- --:--:--  
--:--:--  193k 
Downloading complete file  
http://debian.proxad.net/debian/dists/wheezy- 
updates/contrib/Contents-amd64.gz 
  % Total    % Received % Xferd  Average Speed   Time    Time      
Time  Current 
                                 Dload  Upload   Total   Spent     
Left  Speed 
100   714  100   714    0     0   5707      0 --:--:-- --:--:--  
--:--:-- 12981 
Downloading complete file  
http://debian.proxad.net/debian/dists/wheezy-updates/non- 
free/Contents-amd64.gz 
  % Total    % Received % Xferd  Average Speed   Time    Time      
Time  Current 
                                 Dload  Upload   Total   Spent     
Left  Speed 
100   714  100   714    0     0   5919      0 --:--:-- --:--:--  
--:--:-- 14280
Voici maintenant son utilisation :
# apt-file search openssh-server 
live-build: /usr/share/live/build/hooks/0160-remove-openssh- 
server-host-keys.chroot 
live-config: /lib/live/config/1170-openssh-server 
monit: /etc/monit/monitrc.d/openssh-server 
openssh-server: /etc/network/if-up.d/openssh-server 
openssh-server: /etc/ufw/applications.d/openssh-server 
openssh-server: /usr/share/doc/openssh-server 
openssh-server: /usr/share/lintian/overrides/openssh-server
L’option find est l’alias de search.

i. Lister le contenu d’un paquet

La commande apt-file list permet de voir le contenu d’un paquet. Cette fonctionnalité est très proche de la commande dpkg -L excepté que le paquet n’a pas besoin d’être installé.
# apt-file list openssh-server 
openssh-server: /etc/default/ssh 
openssh-server: /etc/init.d/ssh 
openssh-server: /etc/network/if-up.d/openssh-server 
openssh-server: /etc/pam.d/sshd 
openssh-server: /etc/ufw/applications.d/openssh-server 
openssh-server: /usr/lib/openssh/sftp-server 
openssh-server: /usr/lib/sftp-server 
openssh-server: /usr/sbin/sshd 
openssh-server: /usr/share/doc/openssh-client/examples/sshd_config 
openssh-server: /usr/share/doc/openssh-server 
openssh-server: /usr/share/lintian/overrides/openssh-server 
openssh-server: /usr/share/man/man5/authorized_keys.5.gz 
openssh-server: /usr/share/man/man5/sshd_config.5.gz 
openssh-server: /usr/share/man/man8/sftp-server.8.gz 
openssh-server: /usr/share/man/man8/sshd.8.gz
L’option show est l’alias de list.

j. Versions des paquets disponibles

La commande apt-show-versions permet d’analyser le fichier statut de dpkg et les listes d’apt pour trouver les versions des paquets installés, les versions des paquets disponibles mais aussi la distribution. Cette commande doit être installée :
# apt-get install apt-show-versions 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Le paquet suivant a été installé automatiquement et n’est plus  
nécessaire : 
  libqtwebkit4 
Veuillez utiliser « apt-get autoremove » pour le supprimer. 
Les NOUVEAUX paquets suivants seront installés : 
  apt-show-versions 
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à  
jour. 
Il est nécessaire de prendre 34,9 ko dans les archives. 
Après cette opération, 169 ko d’espace disque supplémentaires  
seront utilisés. 
Réception de : 1 http://debian.proxad.net/debian/ wheezy/main apt- 
show-versions all 0.20 [34,9 kB] 
34,9 ko réceptionnés en 0s (156 ko/s)       
Sélection du paquet apt-show-versions précédemment désélectionné. 
(Lecture de la base de données... 163468 fichiers et répertoires  
déjà installés.) 
Dépaquetage de apt-show-versions (à partir de .../apt-show- 
versions_0.20_all.deb) ... 
Traitement des actions différées (« triggers ») pour « man-db »... 
Paramétrage de apt-show-versions (0.20) ... 
** initializing cache. This may take a while **
Procédons à son utilisation comme suit :
# apt-show-versions 
accountsservice/wheezy uptodate 0.6.21-8 
acl/wheezy uptodate 2.2.51-8 
acpi/wheezy uptodate 1.6-1 
acpi-fakekey/wheezy uptodate 0.140-5 
acpi-support/wheezy uptodate 0.140-5 
acpi-support-base/wheezy uptodate 0.140-5 
acpid/wheezy uptodate 1:2.0.16-1+deb7u1 
adduser/wheezy uptodate 3.113+nmu3 
aisleriot/wheezy uptodate 1:3.4.1-1 
alacarte/wheezy uptodate 3.5.3-1 
alsa-base/wheezy uptodate 1.0.25+3~deb7u1 
alsa-utils/wheezy uptodate 1.0.25-4 
anacron/wheezy uptodate 2.3-19 
ant/wheezy uptodate 1.8.2-4 
ant-optional/wheezy uptodate 1.8.2-4 
apache2/wheezy uptodate 2.2.22-13 
apache2-mpm-worker/wheezy uptodate 2.2.22-13 
apache2-utils/wheezy uptodate 2.2.22-13 
apache2.2-bin/wheezy uptodate 2.2.22-13 
apache2.2-common/wheezy uptodate 2.2.22-13 
apg/wheezy uptodate 2.2.3.dfsg.1-2 
 
                                ...

k. Mise à jour des dépôts

Sur Internet, les paquets sont mis à jour en permanence dans les dépôts.
Sur un poste de travail ou bien un serveur Linux, seuls les dépôts mentionnés dans le fichier /etc/apt/sources.list sont utilisés.
Apt conserve une liste des paquets obtenus lors de la dernière mise à jour. Il est donc nécessaire de mettre à jour régulièrement la liste des paquets avec apt-get update :
# apt-get update 
Réception de : 1 http://security.debian.org wheezy/updates  
Release.gpg [836 B] 
Réception de : 2 http://security.debian.org wheezy/updates Release  
[102 kB] 
Réception de : 3 http://security.debian.org wheezy/updates/main  
Sources [57,7 kB] 
Réception de : 4 http://security.debian.org wheezy/updates/contrib  
Sources [14 B]             
Réception de : 5 http://security.debian.org wheezy/updates/non- 
free Sources [14 B] 
Réception de : 6 http://security.debian.org wheezy/updates/main  
amd64 Packages [106 kB] 
Réception de : 7 http://security.debian.org wheezy/updates/contrib  
amd64 Packages [14 B] 
Réception de : 8 http://security.debian.org wheezy/updates/non- 
free amd64 Packages [14 B] 
Réception de : 9 http://security.debian.org wheezy/updates/contrib  
Translation-en [14 B]       
Réception de : 10 http://security.debian.org wheezy/updates/main  
Translation-en [62,2 kB] 
Réception de : 11 http://security.debian.org wheezy/updates/non- 
free Translation-en [14 B] 
Atteint http://debian.proxad.net wheezy Release.gpg  
Réception de : 12 http://debian.proxad.net wheezy-updates  
Release.gpg [1 571 B] 
Atteint http://debian.proxad.net wheezy Release      
Réception de : 13 http://debian.proxad.net wheezy-updates Release  
[124 kB] 
Atteint http://debian.proxad.net wheezy/main Sources  
Atteint http://debian.proxad.net wheezy/non-free Sources 
Atteint http://debian.proxad.net wheezy/contrib Sources 
Atteint http://debian.proxad.net wheezy/main amd64 Packages 
Atteint http://debian.proxad.net wheezy/non-free amd64 Packages 
Atteint http://debian.proxad.net wheezy/contrib amd64 Packages 
Atteint http://debian.proxad.net wheezy/contrib Translation-en 
Atteint http://debian.proxad.net wheezy/main Translation-fr 
Atteint http://debian.proxad.net wheezy/main Translation-en 
Atteint http://debian.proxad.net wheezy/non-free Translation-en 
Réception de : 14 http://debian.proxad.net wheezy-updates/main  
Sources [1 995 B] 
Réception de : 15 http://debian.proxad.net wheezy-updates/contrib  
Sources [14 B] 
Réception de : 16 http://debian.proxad.net wheezy-updates/non-free  
Sources [14 B] 
Atteint http://debian.proxad.net wheezy-updates/main amd64  
Packages/DiffIndex 
Réception de : 17 http://debian.proxad.net wheezy-updates/contrib  
amd64 Packages [14 B] 
Réception de : 18 http://debian.proxad.net wheezy-updates/non-free  
amd64 Packages [14 B] 
Réception de : 19 http://debian.proxad.net wheezy-updates/contrib  
Translation-en [14 B] 
Atteint http://debian.proxad.net wheezy-updates/main Translation- 
en/DiffIndex 
Réception de : 20 http://debian.proxad.net wheezy-updates/non-free  
Translation-en [14 B] 
457 ko réceptionnés en 7s (64,6 ko/s)  
Lecture des listes de paquets... Fait

l. Mise à jour du système

La commande apt-get upgrade met à jour tous les paquets installés sur le système vers les dernières versions :
# apt-get -y upgrade 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Les paquets suivants seront mis à jour : 
  icedtea-netx icedtea-netx-common 
2 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à  
jour. 
Il est nécessaire de prendre 876 ko dans les archives. 
Après cette opération, 0 o d’espace disque supplémentaire seront  
utilisés. 
Réception de : 1 http://security.debian.org/ wheezy/updates/main  
icedtea-netx-common all 1.4-3~deb7u2 [855 kB] 
Réception de : 2 http://security.debian.org/ wheezy/updates/main  
icedtea-netx amd64 1.4-3~deb7u2 [20,7 kB] 
876 ko réceptionnés en 1s (627 ko/s)    
Lecture des fichiers de modifications (« changelog »)... Terminé  
(Lecture de la base de données... 163482 fichiers et répertoires  
déjà installés.) 
Préparation du remplacement de icedtea-netx-common 1.4-3~deb7u1  
(en utilisant .../icedtea-netx-common_1.4-3~deb7u2_all.deb) ... 
Dépaquetage de la mise à jour de icedtea-netx-common ... 
Préparation du remplacement de icedtea-netx:amd64 1.4-3~deb7u1 (en 
 utilisant .../icedtea-netx_1.4-3~deb7u2_amd64.deb) ... 
Dépaquetage de la mise à jour de icedtea-netx:amd64 ... 
Traitement des actions différées (« triggers ») pour « desktop- 
file-utils »... 
Traitement des actions différées (« triggers ») pour « gnome- 
menus »... 
Traitement des actions différées (« triggers ») pour « hicolor- 
icon-theme »... 
Traitement des actions différées (« triggers ») pour « man-db »... 
Paramétrage de icedtea-netx-common (1.4-3~deb7u2) ... 
Paramétrage de icedtea-netx:amd64 (1.4-3~deb7u2) ...
La commande apt-get dist-upgrade met à jour tous les paquets installés vers les dernières versions en installant de nouveaux paquets si nécessaire, par opposition à upgrade qui n’ajoute pas de nouveaux paquets.
# apt-get dist-upgrade 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Calcul de la mise à jour... Fait 
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à  
jour.
Avant d’exécuter dist-upgrade, il est recommandé de mettre à jour d’abord la liste des paquets avec update.
Voici par exemple, le processus d’une mise à jour :
sudo apt-get update && sudo apt-get upgrade

m. Désinstaller un paquet

La commande apt-get remove permet la désinstallation de paquets :
# apt-get -y remove openssh-server 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Le paquet suivant a été installé automatiquement et n’est plus  
nécessaire : 
  libqtwebkit4 
Veuillez utiliser « apt-get autoremove » pour le supprimer. 
Les paquets suivants seront ENLEVÉS : 
  openssh-server 
0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à  
jour. 
Après cette opération, 725 ko d’espace disque seront libérés. 
(Lecture de la base de données... 163481 fichiers et répertoires  
déjà installés.) 
Suppression de openssh-server ... 
[ ok ] Stopping OpenBSD Secure Shell server: sshd. 
Traitement des actions différées (« triggers ») pour « man-db »...
Cette commande peut également être accompagnée de l’option --purge pour supprimer les fichiers de configuration :
# apt-get -y remove --purge openssh-server 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Le paquet suivant a été installé automatiquement et n’est plus  
nécessaire : 
  libqtwebkit4 
Veuillez utiliser « apt-get autoremove » pour le supprimer. 
Les paquets suivants seront ENLEVÉS : 
  openssh-server* 
0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à  
jour. 
Après cette opération, 725 ko d’espace disque seront libérés. 
(Lecture de la base de données... 163481 fichiers et répertoires  
déjà installés.) 
Suppression de openssh-server ... 
[ ok ] Stopping OpenBSD Secure Shell server: sshd. 
Purge des fichiers de configuration de openssh-server ... 
Traitement des actions différées (« triggers ») pour « man-db »...
La commande apt-get autoremove permet de désinstaller le paquet indiqué avec ses dépendances logicielles :
# apt-get -y autoremove openssh-server 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Les paquets suivants seront ENLEVÉS : 
  libqtwebkit4 openssh-server 
0 mis à jour, 0 nouvellement installés, 2 à enlever et 0 non mis à  
jour. 
Après cette opération, 27,7 Mo d’espace disque seront libérés. 
(Lecture de la base de données... 163481 fichiers et répertoires  
déjà installés.) 
Suppression de libqtwebkit4:amd64 ... 
Suppression de openssh-server ... 
[ ok ] Stopping OpenBSD Secure Shell server: sshd. 
Traitement des actions différées (« triggers ») pour « man-db »...
L’option --purge peut aussi être utilisée pour supprimer les fichiers de configuration :
# apt-get -y autoremove --purge openssh-server 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait 
Les paquets suivants seront ENLEVÉS : 
  openssh-server* 
0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à  
jour. 
Après cette opération, 725 ko d’espace disque seront libérés. 
(Lecture de la base de données... 163474 fichiers et répertoires  
déjà installés.) 
Suppression de openssh-server ... 
[ ok ] Stopping OpenBSD Secure Shell server: sshd. 
Purge des fichiers de configuration de openssh-server ... 
Traitement des actions différées (« triggers ») pour « man-db »...

n. Supprimer les paquets d’installation

Apt conserve une copie de chaque paquet installé et désinstallé dans le répertoire /var/cache/apt/archives.
La commande apt-get clean supprime les copies de paquets installés et permet ainsi de récupérer de l’espace disque :
# apt-get clean
La commande apt-get autoclean permet de supprimer les copies des paquets désinstallés.
# apt-get autoclean 
Lecture des listes de paquets... Fait 
Construction de l’arbre des dépendances        
Lecture des informations d’état... Fait

5. Gérer des paquets deb avec dpkg

Créé par Ian Jackson en 1993, dpkg est une commande chargée de l’installation, la création, la suppression et la gestion des paquets .deb de Debian. Elle permet également la gestion de paquets en provenance de sources extérieures aux dépôts APT.

Aucun commentaire :

Enregistrer un commentaire