{{tag>installation_logiciel gestionnaire_de_paquets paquet}}
====== Gestion des paquets avec APT ======
**[[wpfr>Advanced Packaging Tool|APT]]**, pour //**A**dvanced **P**ackaging **T**ool// (//outil d'empaquetage avancé//), est un système complet de **gestion de [[:paquet|paquets]]** et de dépendances logicielles, permettant :
* une recherche facile et efficace des applications, utilitaires, bibliothèques, etc.,
* une installation et désinstallation simple et propre de ces logiciels et de leurs dépendances,
* leur mise à jour automatisée.
**APT** permet de facilement gérer le parc logiciel d'Ubuntu, incluant le système lui-même, et ainsi de passer à une nouvelle [[:versions|version]] d'Ubuntu lorsque celle-ci est disponible.
Sa gestion, et donc celle des logiciels, se fait au moyen de [[:gestionnaire_de_paquets|gestionnaires de paquets]]. On trouve ainsi de nombreux outils implémentant les fonctions d'**APT** (parfois indirectement grâce à [[:PackageKit]]) :
* des **interfaces graphiques**, comme le [[:snap_store|Centre d'applications]], [[:gnome-software|GNOME Logiciels]], [[:gnome-packagekit|GNOME Paquets]], [[:Synaptic]], [[:Muon]],
* ainsi que des utilitaires en **[[:commande_shell|ligne de commande]]**, comme [[:apt-cli|apt]], [[:Aptitude]], [[https://gitlab.com/volian/nala|nala]] ou [[:packagekit#pkcon]].
Initialement lié à [[:distributions#Debian]], **APT** est présent sur toutes les [[:distributions#famille_debian|distributions qui en héritent]].
Pour les applications utilisateur, **APT** est petit à petit remplacé par **[[:snap]]** sur Ubuntu, et **[[:Flatpak]]** sur la plupart des autres [[:distributions]].
===== Utilisation =====
De nombreux [[:gestionnaire de paquets|gestionnaires de paquets]] permettent de manipuler les logiciels avec **APT**.
**APT** différencie les paquets installés //manuellement// des paquets installés //automatiquement// (souvent en dépendance de paquets installés manuellement par exemple). Ceci permet entre autre de nettoyer facilement son système en supprimant automatiquement toutes les dépendances orphelines, ou d'exporter la liste des paquets installés manuellement, lors d'une migration ou d'une réinstallation propre.
==== Les outils ====
Originellement, le système APT n'avait que des outils en lignes de commandes. Des installeurs graphiques, pilotables à la souris firent leur apparition pour les environnements graphiques.
=== Outils avec interface graphique ===
^ Nom ^ Description ^
| [[:Snap Store]] (Centre d'applications) | Installé par défaut sur Ubuntu, propose les paquets [[:deb]] des applications (uniquement) avec [[:APT]], mais met en avant les versions [[:snap]] |
| [[:gnome-software|GNOME Logiciels]] | Interface conviviale pour gérer l'installation des applications ([[:packagekit#gnome_logiciels|uniquement]]) |
| [[:gnome-packagekit|GNOME Paquets]] | //Frontend// [[:PackageKit]] pour tous les paquets sur les [[:environnements]] [[:GNOME]], [[:XFCE]], [[:Budgie]]... (compatible avec [[:Wayland]]) |
| [[:Synaptic]] | //Frontend// **APT** pour les [[:environnements]] [[:GNOME]], [[:XFCE]], [[:Budgie]]... (incompatible avec [[:Wayland]]) |
| [[:Apper]] | //Frontend// [[:PackageKit]] pour tous les paquets sur l'environnement [[:KDE]] |
| [[:Muon]] | //Frontend// **APT** pour l'environnement [[:KDE]] |
| [[:deborphan#avec_l_interface_graphique|GtkOrphan]] | Version graphique de [[:deborphan]] |
| [[:Apturl]] | Protocole d'installation des paquets depuis un lien hypertexte ([[:web]]) |
| [[:Gdebi]] | Outil graphique pour installer des paquets hors-dépôts |
=== Outils en ligne de commande ===
^ Nom ^ Description ^
| ''[[:apt-cli|apt]]'' | Gestion des paquets (pour un utilisateur final) |
| ''[[:apt-get]]'', ''[[apt-cache]]'', ''[[apt-file]]'' | Gestion des paquets (pour un script) |
| ''[[:aptitude]]'' | Gestion des paquets - interface semi-graphique |
| ''[[:dpkg]]'' | Gestion des paquets hors dépôts |
| ''[[:deborphan]]'' | Trouver les paquets non utilisés, appelés orphelins |
| ''[[https://gitlab.com/volian/nala|nala]]'' | //Frontend// **APT** complet qui se propose d'être plus rapide et plus agréable à utiliser que ''[[:apt-cli|apt]]'' ou autres suites de commandes natives. |
| [[:points_de_restauration_pour_un_systeme_linux#Restauration d'un point|dselect (param DPKG)]] | Gestion des paquets - interface à dpkg |
| ''[[https://wajig.togaware.com/|wajig]]'' | Outil d'administration simplifié |
==== Récupérer et installer un paquet ====
Voir la page concernant les [[:paquet|paquets]] si cette notion vous est étrangère : un [[wpfr>Paquet_(logiciel)|paquet]] est un fichier / archive contenant les fichiers d'un logiciel ainsi que des informations sur celui-ci et les scripts d'installation, mise à jour, et désinstallation, justement gérés par **APT**.
=== Où récupérer des paquets ? ===
Afin de permettre une gestion efficace des paquets et des dépendances, la façon la plus pratique de récupérer un paquet est de le télécharger depuis un **[[:depots|dépôt APT]]**, à l'aide du système APT. Des paquets peuvent aussi être téléchargés depuis des sites Internet, quand les distributeurs en fournissent.
=== En savoir plus sur un paquet ===
Avant d'installer un paquet, on peut vouloir en savoir plus sur la taille disque requise par ce paquet et/ou connaître les dépendances qui vont avec.\\
Si on peut généralement lancer un //install// puis refuser, la sous-commande ad-hoc est :
apt show nom-du-paquet\\
On peut ajouter l'option //-a// (après show).\\
On peut aussi combiner avec //grep// pour par exemple n'extraire que les tailles (//Size//) :
apt show nom-du-paquet | grep Size
=== Connaître les derniers paquets installés ===
Lancer la commande :ls -ltr /var/cache/apt/archives
===== Problèmes connus =====
* [[Problème apt]] : page regroupant un certain nombre de problèmes possibles et de solutions pour les résoudre !
===== Voir aussi =====
* [[:apt_faq|Foire Aux Questions sur apt]]
* les paquets **[[:snap]]**, qui tendent à remplacer **APT** sur Ubuntu
* les paquets **[[:Flatpak]]**, qui sont une autre solution intéressante
* [[https://www.debian.org/doc/manuals/apt-guide/index.fr.html|Guide d'utilisation d'APT]] officiel de [[:distributions#debian|Debian]]
* **(//en//)** //[[https://itsfoss.com/apt-vs-apt-get-difference/|Difference Between apt and apt-get Explained]]// -- Un excellent article de novembre 2017 qui gagnerait à être traduit ici qui explique les différences entre ''[[:apt-cli|apt]]'' et ''[[:apt-get]]'' et pourquoi mieux vaut aujourd'hui utiliser ''[[:apt-cli|apt]]'' en console et continuer à utiliser ''[[:apt-get]]'' dans les scripts.
===== Pages en rapport avec APT =====
{{topic>apt}}
----
//Contributeurs : [[:utilisateurs:AlexandreP]], [[:utilisateurs:ste]], [[:utilisateurs:krodelabestiole]]//