Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
apt-cli [Le 04/11/2020, 14:13] – + patterns apt v2 krodelabestioleapt-cli [Le 18/02/2026, 15:48] (Version actuelle) – [Options] -s krodelabestiole
Ligne 1: Ligne 1:
-{{tag>apt paquet gestionnaire_de_paquets installation_logiciel Xenial Bionic}}+{{tag>apt paquet gestionnaire_de_paquets installation_logiciel Focal Bionic}}
  
 ====== apt ====== ====== apt ======
Ligne 15: Ligne 15:
 ===== Utilisation ===== ===== Utilisation =====
  
-La syntaxe d'apt est la suivante :+La syntaxe d%%'%%''[[man>apt]]'' est la suivante :
  
 <code>apt [méthode] [paramètres]</code> <code>apt [méthode] [paramètres]</code>
  
-Certaines méthodes requièrent l'utilisation de la commande [[:sudo]], d'autres pas, selon qu'elles influent ou non sur les fichiers du système.+Certaines méthodes requièrent l'utilisation de la commande ''[[:sudo]]'', d'autres pas, selon qu'elles influent ou non sur les fichiers du système.
  
 ==== Méthodes ==== ==== Méthodes ====
Ligne 29: Ligne 29:
 | **search** | texte à rechercher | Liste les paquets dans les descriptions desquels on trouve le texte correspondant. | | **search** | texte à rechercher | Liste les paquets dans les descriptions desquels on trouve le texte correspondant. |
 | **show** | nom(s) du ou des paquet(s) | Affiche les détails du paquet. | | **show** | nom(s) du ou des paquet(s) | Affiche les détails du paquet. |
-| **install** | nom(s) du ou des paquet(s) | Installe les paquets. |+| **install** | nom(s) du ou des paquet(s) | Installe les [[:paquet|paquets]], soit depuis les [[:dépôts]], soit depuis un fichier [[:installer_un_paquet_deb#installer_un_paquet_hors_depots_non_recommande|deb isolé]]. |
 | **remove** | nom(s) du ou des paquet(s) | Supprime les paquets. | | **remove** | nom(s) du ou des paquet(s) | Supprime les paquets. |
-| **autoremove** | pas de paramètre | Supprime automatiquement les dépendances inutilisées (n'existe pas sous [[:Trusty]], utilisez ''[[apt-get]] autoremove'' à la place)+| **autoremove** | pas de paramètre | Supprime automatiquement les dépendances inutilisées
-| **update** | pas de paramètre | Met à jour la liste des paquets disponibles. |+| **update** | pas de paramètre | Met à jour //la liste// des paquets disponibles (mais pas les paquets eux-mêmes). |
 | **upgrade** | pas de paramètre | Met à jour le système en installant/mettant à jour les paquets. | | **upgrade** | pas de paramètre | Met à jour le système en installant/mettant à jour les paquets. |
 | **full-upgrade** | pas de paramètre | Met à jour le système en supprimant/installant/mettant à jour les paquets. | | **full-upgrade** | pas de paramètre | Met à jour le système en supprimant/installant/mettant à jour les paquets. |
Ligne 41: Ligne 41:
 ^ méthode ^ paramètre ^ description ^ ^ méthode ^ paramètre ^ description ^
 | **purge** | nom(s) du ou des paquet(s) | Supprime un paquet ainsi que ses fichiers de configuration. | | **purge** | nom(s) du ou des paquet(s) | Supprime un paquet ainsi que ses fichiers de configuration. |
-| **depends** | nom(s) du ou des paquet(s) | Liste les dépendances d'un paquet. | +| **depends** | nom du ou des paquet | Liste les dépendances d'un paquet. | 
-| **autoclean** | pas de paramètre | Supprime le cache APT des paquets périmés (n'existe pas sous [[:Trusty]], utilisez ''[[apt-get]] autoclean'' à la place). | +| **rdepends** | nom du ou des paquet | Liste les paquets qui ont pour dépendance ce paquet. | 
-| **clean** | pas de paramètre | Supprime tout le cache APT (n'existe pas sous [[:Trusty]], utilisez ''[[apt-get]] clean'' à la place). |+| **autoclean** | pas de paramètre | Supprime le cache APT des paquets périmés. 
 +| **autopurge** | pas de paramètre | Supprimme automatiquement les dépendances inutilisées ainsi que leurs fichiers de configuration 
 +| **clean** | pas de paramètre | Supprime tout le cache APT. 
 +| **changelog** | pas de paramètre | Affiche le journal des modifications du paquet | 
 +| **policy** | pas de paramètre | Affiche les versions des paquets indiqués et leur statut |
 | **help** | pas de paramètre | Fournit une aide rapide concernant cet outil. | | **help** | pas de paramètre | Fournit une aide rapide concernant cet outil. |
  
Ligne 60: Ligne 64:
 Depuis la version 2.0, c'est la fonctionnalité des //patterns// (jusque là propre à [[:aptitude#motifs_de_recherche_utilisation_avancee|aptitude]]) qui a été implémentée. Depuis la version 2.0, c'est la fonctionnalité des //patterns// (jusque là propre à [[:aptitude#motifs_de_recherche_utilisation_avancee|aptitude]]) qui a été implémentée.
  
-Cette fonctionnalité est décrite en anglais sur [[https://manpages.ubuntu.com/manpages/focal/man7/apt-patterns.7.html|cette page]].+Cette fonctionnalité est décrite en anglais sur [[https://manpages.ubuntu.com/manpages/focal/man7/apt-patterns.7.html|cette page]]. Entre autre :
  
-Pour lister tous les paquets dont le nom se termine par ''-desktop'' on utilisera donc la commande suivante :+  * ''~n'' pour utiliser une [[wpfr>expression régulière]] sur le nom
 +  * ''~i'' permet de sélectionner les paquets installés. 
 +  * ''~U'' indique les paquets à mettre à jour. 
 +  * ''~M'' pour les paquets installés automatiquement. 
 +  * ''!'' avant le //pattern// permet d'inverser la sélection.
  
-<code>apt list ~n-desktop$</code> +Dans le cas où on utilise plus d'un //pattern// ou une combinaison de //patterns// (''|'' signifie par ex. l'opérateur logique //ou//), il faut entourer l'ensemble des paramètres de guillemets ''%%'%%''.
-Dans cette commande le pattern ''~n'' (ou ''~name'') précède un nom de paquet (en [[wpfr>expression régulière]]), et l'expression ''$'' termine la chaîne de caractère (et donc la fin du nom du paquet).+
  
-Pour le début d'un nom, c'est l'expression ''^'' qu'on place en début de chaîne. Par exemple :+ 
 + 
 +Pour lister tous les paquets dont le nom commence par ''ubuntu-'' on utilisera donc la commande suivante :
 <code>apt list ~n^ubuntu-</code> <code>apt list ~n^ubuntu-</code>
 +Dans cette commande le pattern ''~n'' (ou ''~name'') précède l'expression ''^'', qui indique le début de la chaîne de caractère (et donc le début du nom du paquet), suivie du nom de paquet (en [[wpfr>expression régulière]]) : on veut donc une chaîne qui commence par ''ubuntu-''.
  
 +Pour lister tous les paquets dont le nom se termine par ''-desktop'' on utilisera plutôt l'expression ''$'' :
 +<code>apt list ~n-desktop$</code>
 +Dans cette commande le pattern ''~n'' (ou ''~name'') précède un nom de paquet (en [[wpfr>expression régulière]]), et l'expression ''$'' indique la fin de la chaîne de caractère (et donc la fin du nom du paquet) : on veut donc une chaîne qui se termine par ''-desktop''.
 +
 +Pour lister tous les paquets dont le nom se termine par ''-desktop'' mais ne commence pas par ''task-'' on utilisera la commande suivante (''!'' pour la négation) :
 +<code>apt list '~n-desktop$ !~n^task-'</code>
 +L'espace entre les deux patterns n'est pas indispensable (il peut simplifier la lecture).
 +
 +==== Options ====
 +
 +Certaines options passées en paramètres permettent de modifier le comportement d%%'%%''[[man>apt]]'', ou les retours de certaines commandes.
 +
 +  * ''%%--%%simulate'' ou sa version courte ''-s'' permet de simuler l'exécution d'une commande sans la réaliser vraiment. Ceci permet de tester en particulier l'effet d'une installation ou d'une désinstallation, et de visualiser la réaction en chaîne des dépendances qui peut en résulter, sans mettre en danger le système.
 +  * ''%%--%%installed'' ou sa version courte ''-i'' permet de ne sélectionner que les paquets //installés//.
 +  * ''%%--%%all-versions'' ou sa version courte ''-a'' permet de sélectionner toutes les versions d'un paquet.
  
 ==== Exemples ==== ==== Exemples ====
Ligne 84: Ligne 109:
 <code>sudo apt install [nom du paquet]</code> <code>sudo apt install [nom du paquet]</code>
 apt installera les dépendances éventuellement nécessaires. apt installera les dépendances éventuellement nécessaires.
 +
 +=== Mise à jour des logiciels ===
 +
 +Les mises à jour ordinaires du système peuvent se faire avec les commandes suivantes :
 +<code>sudo apt update
 +sudo apt full-upgrade</code>
  
 === Désinstallation d'un paquet === === Désinstallation d'un paquet ===
Ligne 89: Ligne 120:
 Pour désinstaller un paquet on utilise cette commande : Pour désinstaller un paquet on utilise cette commande :
 <code>sudo apt remove [nom du paquet]</code> <code>sudo apt remove [nom du paquet]</code>
-apt ne supprimera pas automatiquement les éventuels dépendances. Par contre si le paquet est lui-même une dépendance indispensable à un autre paquet installé, ce dernier sera également désinstallé (heureusement le script demandera d'abord une confirmation).+apt ne supprimera pas automatiquement les éventuelles dépendances. Par contre si le paquet est lui-même une dépendance indispensable à un autre paquet installé, ce dernier sera également désinstallé (heureusement le script demandera d'abord une confirmation). 
 + 
 +Il est également possible de supprimer un paquet, ainsi que ses dépendances et ses fichiers de configuration en une seule commande : 
 +<code>sudo apt autoremove --purge [nom du paquet]</code> ou 
 +<code>sudo apt autopurge [nom du paquet]</code> 
 + 
 +<note> 
 +Seuls les fichiers de configuration marqués comme //conffile//, souvent placés dans ''/etc'', sont supprimés. Les fichiers de préférences de l'utilisateur crées dans le [[:arborescence#répertoire personnel]] et les journaux (''/var/log'') ne sont pas supprimés. 
 +</note> 
 + 
 +=== Suppression des dépendances orphelines ===
  
 On peut supprimer toutes les dépendances orphelines avec la commande : On peut supprimer toutes les dépendances orphelines avec la commande :
 <code>sudo apt autoremove</code> <code>sudo apt autoremove</code>
  
-Il est également possible de supprimer un paquet, ainsi que ses dépendances et ses fichiers de configuration en une seule commande +Cette commande supprimera aussi les anciennes versions du [[:noyau]devenues inutiles.
-<code>sudo apt autoremove --purge [nom du paquet]</code>+
  
-=== Mise à jour des logiciels ===+<note>... À moins qu'on ait eu la mauvaise idée de spécifier les numéros de versions dans les noms de paquets qui le proposent, auquel cas des //versions précises// seraient marquées comme "//installées manuellement//", et dans ce cas jamais supprimées automatiquement !((Voir [[https://forum.ubuntu-fr.org/viewtopic.php?id=2093778|ce sujet]] sur le forum pour plus de détails.))</note>
  
-Les mises à jour ordinaires du système peuvent se faire avec les commandes suivantes : +=== Lister les paquets installés manuellement === 
-<code>sudo apt update + 
-sudo apt upgrade</code>+<code>apt list '~i !~M'</code> 
 + 
 +=== Lister les paquets ayant des résidus de configuration (rc) === 
 + 
 +<code>apt list ?config-files</code> ou <code>apt list ~c</code> 
 +Pour supprimer ces paquets remplacer //list// par //remove// ou purge. 
 + 
 +=== Lister les paquets qui n'existent pas (ou plus) dans les dépôts === 
 + 
 +<code>apt list ?obsolete</code> ou <code>apt list ~o</code> 
 + 
 +=== Lister les paquets qui ont des dépendances cassées === 
 + 
 +<code>apt list ?broken</code> ou <code>apt list ~b</code>
  
 ===== Problèmes courants ===== ===== Problèmes courants =====