logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


APT : Gestionnaire de Paquets Avancé

Introduction

APT (Advanced Packaging Tool) est une collection d'outils permettant de gérer les logiciels installés sur une machine de façon relativement simple et complète. C'est un système de gestion de paquet robuste et élégant, qui a longtemps fait la fierté de Debian.

Le fonctionnement est le suivant : APT conserve une liste des paquets installés, avec leur version, et leur état. Par exemple, lorsque vous installez un paquet, celui-ci est marqué comme manuellement installé. En revanche, si ce paquet dépendait d'une bibliothèque, alors celle-ci a été installée automatiquement, et marquée comme telle.

En parallèle, APT conserve une liste des paquets installables. Il récupère cette liste depuis les dépôts précisés dans les fichiers /etc/apt/sources.list et /etc/apt/sources.list.d/* (ces dépôts sont la plupart du temps des sites internet, mais peuvent également être des cdrom ou des miroirs locaux).

Les outils permettent ensuite d'installer des paquets facilement depuis ces dépôts, ou depuis des fichiers .deb téléchargés manuellement (bien que cette dernière méthode soit déconseillée.)

Vous pouvez en savoir plus sur ce qu'est un paquet ici :

Dépôts et sources.list

L'utilisation normale de Debian se fait sans jamais manipuler de fichier .deb à la main, mais en indiquant à APT où récupérer ces fichiers.

En général, ils se trouvent sur des serveurs appelés dépôts. Il convient alors de renseigner son/ses fichier(s) sources.list afin d'indiquer de quelles sections de quelles branches de quels dépôts il lui faut récupérer les listes de paquets.

Comprenant :

Vous trouverez d'avantage d'explications sur les différentes branches dans le tuto suivants :

Installer / Supprimer / Gérer ses paquets

Il existe de nombreuses méthodes pour administrer sa machine et gérer les paquets installés. Nous avons compulsé une page les répertoriant :

Il est important d'apprendre à utiliser les outils en ligne de commande car, en plus d'être pratiques, sûrs et faciles à retenir, ce sont ceux qui seront systématiquement proposés lors de l'entre-aide sur le forum et l'irc car il est plus difficile d'aider quelqu'un en graphique sans être auprès de lui pour consulter son écran. :-)

Quelques conseils non sans importance :

Configuration avancée

Préférences entre les dépôts

Lorsque plusieurs dépôts proposent des versions différentes d'un même paquet, les outils APT doivent choisir quelle version installer. Cela se fait par le biais des fichiers /etc/apt/preferences et /etc/apt/preferences.d/*, cette opération s'appelle le pinning.

  • Gérer les priorités entre versions avec le pinning.
Attention, rares sont les cas où cette opération est pertinente. Ne pas utiliser sans avis de votre médecin, pas d'utilisation prolongée chez l'enfant de moins de 77 ans.

Options pour APT

La lib APT est très paramétrable.
On peut par exemple :

  • spécifier si l'on veut traiter les recommandations comme des dépendances (ce qui est le comportement par défaut) ou non,
  • spécifier quelles traductions des descriptions de paquets télécharger,
  • etc…

Cette configuration se fait en modifiant le fichier /etc/apt/apt.conf ou en créant des fichiers dans le répertoire /etc/apt/apt.conf.d/.

Attention, pour se lancer dans cette section, il est recommandé d'avoir une bonne connaissance et compréhension des paragraphes précédents.

Dépendance

Il était une fois… le mariage d'un logiciel (libre) avec une librairie (libre aussi) dont il va dépendre pour fonctionner :

  1. Le développeur de feh (développeur = créateur) veut que son logiciel (un visionneur d'image léger) puisse lire aussi le PNG.
  2. Un autre développeur a déjà écrit du code sous licence libre permettant de faire cela, le développeur de feh peut donc l'utiliser avec feh.
  3. Il indique simplement que feh a besoin de la libpng12-0 pour fonctionner correctement et le tour est joué.
  4. La librairie libpng12-0 est ainsi devenue une dépendance de feh.

Explication sur ce qu'est une dépendance forte.

Je désigne ainsi une dépendance de type “dépend”.

Il existe plusieurs niveaux de dépendance entre deux paquets Debian X et Y :

  • dépend : X ne peut être installé que si Y est installé
  • recommande : l'installation de X recommande l'installation de Y
  • suggère : l'installation de X suggère l'installation de Y
  • conflit : X ne peut pas être installé si Y est installé et vice versa
  • et peut-être d'autres que j'oublie…

Exemples

Par défaut, apt-get installe les paquets recommandés mais pas les paquets suggérés. Donc par défaut l'installation d'un environnement de bureau installera le serveur graphique X.org.

Lorsqu'il crée son paquet Debian de feh, il indique donc que ce dernier a besoin de la libpng12-0 pour fonctionner correctement.
La libpng12-0 est donc, de fait, une dépendance de feh

Il faut enfin distinguer deux cas :

  1. les dépendances à la construction et
  2. les dépendances à l'exécution.

Par exemple, pour un programme écrit en langage C, la construction dépend d'un compilateur C. Mais pas l'exécution.

Bibliothèques

Concernant les bibliothèques, cette distinction existe aussi à travers les deux cas suivants :

  1. Liaison statique : les fonctions des bibliothèques utilisées par le programme sont incluses dans ce dernier lors de la construction. Il n'a pas besoin des bibliothèques lors de l'exécution. Exemple : busybox-static.
    Avantages : programme indépendant, évite les problèmes d'incompatibilités entre versions d'une même bibliothèque, parfois gain de place quand un programme est le seul à dépendre d'une bibliothèque dont il n'utilise que quelques fonctions (seules ces fonctions sont incluses dans le programme au lieu d'installer la bibliothèque complète).
  2. Liaison dynamique : les fonctions des bibliothèques utilisées par le programme ne sont pas incluses dans ce dernier lors de la construction. Il a besoin de la bibliothèque lors de l'exécution.
    Avantages : gain de place (les fonctions des bibliothèques sont partagées au lieu d'être dupliquées), simplicité de mise à jour (la correction d'un bug d'une bibliothèque ne nécessite pas de mettre à jour tous les programmes qui l'utilisent).

Lien vers le forum

Aller plus loin

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/apt.1454465820.txt.gz · Dernière modification: 03/02/2016 03:17 par smolski

Pied de page des forums

Propulsé par FluxBB