====== APT : Gestionnaire de Paquets Avancé ======
{{/manuel/tux-exploration.gif?100X100}}
* Objet : Les outils APT
* Niveau requis :{{tag>débutant avisé}}
* Commentaires : //Rechercher, installer ou mettre à jour les logiciels et autres paquets disponibles.//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>à-tester}}
* Création par [[user>captnfab]] le 25/05/2013
* Testé par .... le ....
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=2106|C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== 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.
**Mais au fait, c'est quoi un paquet qui dépend d'une bibliothèque ?**
Pour le savoir, c'est par ici : [[:doc:systeme:apt:paquets|Les paquets Debian]]
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.)
=== Compatibilité des outils apt ===
- //Je me souviens de mes début avec Debian on m'a dit qu'il fallait éviter les mélanges apt-get et aptitude , je ne sais pas si c'est toujours d'actualité ? \\
A l'époque (Jessie) soit disant les deux ne faisaient pas bon ménage//
- //Ce n'est plus d'actualité depuis bien avant Jessie.
apt-get et aptitude n'ont pas la même façon de marquer les paquets installés automatiquement par dépendance d'autres paquets. La conséquence était qu'un paquet installé manuellement avec l'un pouvait être considéré comme installé automatiquement par l'autre qui proposait de le désinstaller, n'ayant aucune dependance à satisfaire. \\
Mais il y a bien longtemps qu'apt-get et aptitude savent lire la liste des paquets installés automatiquement par l'autre.//
Il y avait peut-être aussi le même problème avec le marquage des paquets "bloqués" (hold) à une version donnée, mais j'ai beaucoup moins utilisé cette fonctionnalité.
Merci à **Crouton** et **raleur**qui ont permis cette foncière mise au point. \\
//Que leurs chemins se couvrent de pétales de rose...// ^_^
Source sur le forum :
* https://debian-facile.org/viewtopic.php?pid=257283#p257283
===== 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.
* [[:doc:systeme:apt:sources.list|Bien configurer son sources.list]]
* [[doc:systeme:apt:sources.list:bullseye|Un sources.list pour Debian]]
===== 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 :
* [[:doc:systeme:apt:clients|Les outils APT]] en [[:doc:systeme:commandes:gnu_linux | ligne de commande]] et en [[doc:systeme:apt:synaptic|mode graphique]].
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 :
* [[:doc:systeme:apt:debianpropre|Garder sa Debian propre]] - Préserver son installation en détail.
* [[:doc:migrer|Migration vers une nouvelle stable]]
===== 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 [[:doc:systeme:apt:pinning|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/''.
* [[:doc:systeme:apt:apt.conf | Configurer APT]].
Attention, pour se lancer dans cette section, il est recommandé d'avoir une bonne connaissance et compréhension des paragraphes précédents.
===== Aller plus loin =====
* [[:doc:reseau:apt-p2p|Apt en peer-to-peer]] pour économiser la bande passante des serveurs Debian.
* [[:doc:reseau:apt-cacher-ng|Un serveur proxy dédié aux paquets Debian]] pour ne pas télécharger les paquets en double si vous avez plusieurs installations Debian.
* [[:doc:mentors:mentors | Créer et maintenir des paquets Debian]]
* [[:doc:systeme:flatpak | Flatpak une autre façon d'installer des logiciels]]
* [[:doc:systeme:snap | Un autre format de paquets : le format snap]]
* [[:doc:systeme:appimage | Appimage : un format de paquets sans installation]]
===== Articles liés =====
* [[doc:systeme:apt:downgrade|Rétrograder une Debian]]