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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:apt:apt [12/01/2016 20:05] paskal [Installer les dernières versions d'un paquet] |
doc:systeme:apt:apt [29/04/2019 09:23] smolski rectification |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : utiliser le gestionnaire de paquet apt | * Objet : utiliser le gestionnaire de paquet apt | ||
- | * Niveau requis : {{tag>débutant }} | + | * Niveau requis : {{tag>débutant avisé }} |
* Commentaires : les commandes présentées fonctionnent à partir de Jessie | * Commentaires : les commandes présentées fonctionnent à partir de Jessie | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
Ligne 12: | Ligne 12: | ||
===== Introduction ===== | ===== Introduction ===== | ||
+ | |||
La gestion des paquets sous Debian se fait par l'outil APT (Advanced Packaging Tool). | La gestion des paquets sous Debian se fait par l'outil APT (Advanced Packaging Tool). | ||
Voici un petit récapitulatif des différentes commandes pour gérer les paquets sous Debian et exécuter les opérations de base avec apt à partir de Jessie. | Voici un petit récapitulatif des différentes commandes pour gérer les paquets sous Debian et exécuter les opérations de base avec apt à partir de Jessie. | ||
Ligne 21: | Ligne 22: | ||
Debian 8.2 / | Debian 8.2 / | ||
apt 1.0.9.8.1</note> | apt 1.0.9.8.1</note> | ||
- | |||
Il est conseillé d'avoir lu [[doc:systeme:apt:sources.list|APT : fichier sources.list]] . | Il est conseillé d'avoir lu [[doc:systeme:apt:sources.list|APT : fichier sources.list]] . | ||
Ligne 38: | Ligne 38: | ||
Elle ne modifie pas le système, elle demande simplement s'il existe de nouveaux paquets ou des nouvelles versions de paquets. | Elle ne modifie pas le système, elle demande simplement s'il existe de nouveaux paquets ou des nouvelles versions de paquets. | ||
- | Cette command est générallement le préalable avant toute opération sur les paquets. | + | Cette commande est généralement le préalable avant toute opération sur les paquets. |
===== Installer les dernières versions d'un paquet ===== | ===== Installer les dernières versions d'un paquet ===== | ||
- | Un bon utilisateur se doit d'installer les dernières versions de paquets disponibles pour son système. | + | Nous vous recommandons d'installer les dernières versions de paquets disponibles pour votre système. |
Cela permet de corriger des bugs et d'installer les correctifs de sécurité. | Cela permet de corriger des bugs et d'installer les correctifs de sécurité. | ||
Ligne 52: | Ligne 52: | ||
===== Installer un nouveau paquet ===== | ===== Installer un nouveau paquet ===== | ||
+ | ==== Paquet provenant d'un dépôt du sources.list ==== | ||
Une autre commande incontournable permettant d'installer un/plusieurs paquet(s) sur son système. | Une autre commande incontournable permettant d'installer un/plusieurs paquet(s) sur son système. | ||
- | Il faudra précéder l'installation d'un paquet par la commande `apt update` pour s'assurer d'installer la dernière version disponible. | + | Il faudra précéder l'installation d'un paquet par la commande ''apt update'' pour s'assurer d'installer la dernière version disponible. |
<code root>apt install <paquet></code> | <code root>apt install <paquet></code> | ||
Ligne 60: | Ligne 61: | ||
<paquet> correspondant au nom exact du logiciel que l'on veut installer. | <paquet> correspondant au nom exact du logiciel que l'on veut installer. | ||
- | Si on souhaite installer le jeu SuperTux, la commande sera `apt install supertux`. | + | Si on souhaite installer le jeu SuperTux, la commande sera ''apt install supertux''. |
On peut retrouver ce nom dans les différents wiki, tuto et forum. | On peut retrouver ce nom dans les différents wiki, tuto et forum. | ||
Tous les paquets sont recensés sur la page <https://www.debian.org/distrib/packages#search_packages>. | Tous les paquets sont recensés sur la page <https://www.debian.org/distrib/packages#search_packages>. | ||
Ligne 69: | Ligne 70: | ||
- | La commande *install* installera automatiquement toutes les dépendances nécessaires. | + | La commande **install** installera automatiquement toutes les dépendances nécessaires. |
Ligne 77: | Ligne 78: | ||
- | avertissement: il faut vérifier que les dépendances qui peuvent être installées n'altèrent pas le système. | + | <note important>Il faut vérifier que les dépendances qui peuvent être installées n'altèrent pas le système. |
- | Le risque avec les dépôts backports est minime mais il est présent si on utilise différentes branches de Debian ou des dépôts tiers. | + | Le risque avec les dépôts backports est minime mais il est présent si on utilise différentes branches de Debian ou des dépôts tiers.</note> |
<note>Pour connaître le nom des branches, il faut regarder ce qui est indiqué dans le fichier // /etc/apt/sources.list// .</note> | <note>Pour connaître le nom des branches, il faut regarder ce qui est indiqué dans le fichier // /etc/apt/sources.list// .</note> | ||
+ | |||
+ | ==== Paquet téléchargé depuis un site ==== | ||
+ | <note warning>Il est déconseillé de télécharger et installer des paquets *.deb téléchargés sur le net pour la stabilité et la sécurité du système\\ | ||
+ | A utiliser en connaissance de cause donc ;-) </note> | ||
+ | Pour installer un paquet *.deb téléchargé sur le net, on peut utiliser [[doc:systeme:apt:gdebi|gdebi]] qui gère les dépendances et peut être utilisé avec une interface graphique ou en ligne de commande. \\ | ||
+ | Depuis Debian 9 (Stretch), il est aussi possible d'utiliser la commande apt :\\ | ||
+ | Imaginons que l'on a téléchargé le paquet Brackets.Release.1.11.64-bit.deb depuis le site [[http://brackets.io/|http://brackets.io/]] et qu'il se trouve dans le dossier Téléchargements, la commande pour l'installer (et qui gère les dépendances) | ||
+ | <code root>apt install /home/identifiant-USER/Téléchargements/Brackets.Release.1.11.64-bit.deb</code> | ||
Ligne 99: | Ligne 108: | ||
</note> | </note> | ||
+ | Supprimer un paquet et les fichiers de configuration : | ||
+ | |||
+ | <code root>apt purge <paquet></code> | ||
===== Editer le fichier sources.list ===== | ===== Editer le fichier sources.list ===== | ||
Ligne 105: | Ligne 117: | ||
<code root>apt edit-sources</code> | <code root>apt edit-sources</code> | ||
- | |||
+ | ==== Premier lancement et choix de l'éditeur de texte ==== | ||
+ | |||
+ | Lors du premier lancement, vous pourrez choisir l'éditeur à utiliser. | ||
+ | |||
+ | <code>Select an editor. To change later, run 'select-editor'. | ||
+ | 1. /bin/nano <---- easiest | ||
+ | 2. /usr/bin/vim.tiny | ||
+ | |||
+ | Choose 1-2 [1]:</code> | ||
+ | Si vous ne savez pas lequel choisir, utilisez [[doc:editeurs:nano|nano]] | ||
+ | ==== Avec sources.list.d ==== | ||
+ | | ||
+ | Pour éditer un fichier présent dans le répertoire sources.list.d, il faut spécifier son nom. | ||
+ | |||
+ | exemple: pour éditer le fichier ''/etc/apt/sources.list.d/deb-multimedia.list'' | ||
+ | |||
+ | <code root>apt edit-sources deb-multimedia.list</code> | ||
===== Autres fonctions utiles ===== | ===== Autres fonctions utiles ===== | ||
Ligne 118: | Ligne 146: | ||
==== Trouver des informations sur un paquet ==== | ==== Trouver des informations sur un paquet ==== | ||
- | La commande *show* affiche toutes les informations détaillés sur le(s) paquet(s) donné(s). | + | La commande **show** affiche toutes les informations détaillées sur le(s) paquet(s) donné(s). |
<code user>apt show <paquet></code> | <code user>apt show <paquet></code> | ||
Ligne 135: | Ligne 163: | ||
==== Rechercher un paquet ==== | ==== Rechercher un paquet ==== | ||
- | La commande *search* recherche le(s) terme(s) donnée(s) et affiche les paquets correspondants. | + | La commande **search** recherche le(s) terme(s) donné(s) et affiche les paquets correspondants. |
<code user>apt search <terme></code> | <code user>apt search <terme></code> | ||
- | Utile quand veut installer un paquet dont on ne connaît pas le nom exact. | + | Utile quand on veut installer un paquet dont on ne connaît pas le nom exact. |
- | On pourra lancer la commande *show* pour de confirmer qu'il s'agit du bon paquet. | + | On pourra lancer la commande *show* pour confirmer qu'il s'agit du bon paquet. |
==== Mise à jour pour l’ensemble du système ==== | ==== Mise à jour pour l’ensemble du système ==== | ||
- | La commande full-upgrade remplit la même fonction que upgrade mais peut aussi supprimer des paquets installés si cela est nécessaire pour résoudre un conflit entre des paquets. | + | La commande **full-upgrade** remplit la même fonction que upgrade mais peut aussi supprimer des paquets installés si cela est nécessaire pour résoudre un conflit entre des paquets. |
<code root>apt full-upgrade</code> | <code root>apt full-upgrade</code> | ||
- | + | ||
+ | Cependant : | ||
+ | <code root>apt dist-upgrade</code> | ||
+ | Reste utilisable, bien qu'il faille mieux utiliser //full//, ne serait-ce que pour l'harmonisation avec la nouvelle commande... ;) | ||
+ | |||
+ | Merci à **Nac** d'avoir ouvert un post permettant cette précision sur le forum là : | ||
+ | * https://debian-facile.org/viewtopic.php?pid=272162#p272162 | ||
+ | //Que son chemin sur le libre se couvre tout du long de pétales de rose...// | ||
On utilise généralement cette commande lors du basculement d'une version majeure de Debian à la suivante. | On utilise généralement cette commande lors du basculement d'une version majeure de Debian à la suivante. | ||
+ | ===== Astuce : ajouter l'autocomplètement pour Debian 8 ===== | ||
+ | |||
+ | La version de ''apt'' de Debian Jessie ne supporte pas l'autocomplétion. Il est cependant possible d'en mettre en place via la création d'un fichier ''/usr/share/bash-completion/completions/apt'' contenant ceci : | ||
+ | |||
+ | <file txt /usr/share/bash-completion/completions/apt># Debian apt(8) completion -*- shell-script -*- | ||
+ | |||
+ | _apt() | ||
+ | { | ||
+ | local sourcesdir="/etc/apt/sources.list.d" | ||
+ | local cur prev words cword | ||
+ | _init_completion || return | ||
+ | |||
+ | # see if the user selected a command already | ||
+ | local COMMANDS=( | ||
+ | "list" | ||
+ | "search" | ||
+ | "show" | ||
+ | "install" "remove" "purge" "autoremove" | ||
+ | "update" | ||
+ | "upgrade" "full-upgrade" "dist-upgrade" | ||
+ | "edit-sources" | ||
+ | "help") | ||
+ | |||
+ | local command i | ||
+ | for (( i=0; i < ${#words[@]}-1; i++ )); do | ||
+ | if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then | ||
+ | command=${words[i]} | ||
+ | break | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | # supported options per command | ||
+ | if [[ "$cur" == -* ]]; then | ||
+ | case $command in | ||
+ | install|remove|purge|upgrade|dist-upgrade|full-upgrade|autoremove) | ||
+ | COMPREPLY=( $( compgen -W '--show-progress | ||
+ | --fix-broken --purge --verbose-versions --auto-remove | ||
+ | --simulate --dry-run | ||
+ | --download | ||
+ | --fix-missing | ||
+ | --fix-policy | ||
+ | --ignore-hold | ||
+ | --force-yes | ||
+ | --trivial-only | ||
+ | --reinstall --solver' -- "$cur" ) ) | ||
+ | return 0 | ||
+ | ;; | ||
+ | update) | ||
+ | COMPREPLY=( $( compgen -W '--list-cleanup | ||
+ | ' -- "$cur" ) ) | ||
+ | return 0 | ||
+ | ;; | ||
+ | list) | ||
+ | COMPREPLY=( $( compgen -W '--installed --upgradable | ||
+ | --manual-installed | ||
+ | -v --verbose | ||
+ | -a --all-versions | ||
+ | ' -- "$cur" ) ) | ||
+ | return 0 | ||
+ | ;; | ||
+ | show) | ||
+ | COMPREPLY=( $( compgen -W '-a --all-versions | ||
+ | ' -- "$cur" ) ) | ||
+ | return 0 | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | |||
+ | # specific command arguments | ||
+ | if [[ -n $command ]]; then | ||
+ | case $command in | ||
+ | remove|purge|autoremove) | ||
+ | if [[ -f /etc/debian_version ]]; then | ||
+ | # Debian system | ||
+ | COMPREPLY=( $( \ | ||
+ | _xfunc dpkg _comp_dpkg_installed_packages $cur ) ) | ||
+ | else | ||
+ | # assume RPM based | ||
+ | _xfunc rpm _rpm_installed_packages | ||
+ | fi | ||
+ | return 0 | ||
+ | ;; | ||
+ | show|list) | ||
+ | COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ | ||
+ | 2> /dev/null ) ) | ||
+ | return 0 | ||
+ | ;; | ||
+ | install) | ||
+ | COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ | ||
+ | 2> /dev/null ) ) | ||
+ | _filedir "*.deb" | ||
+ | return 0 | ||
+ | ;; | ||
+ | edit-sources) | ||
+ | COMPREPLY=( $( compgen -W '$( command ls $sourcesdir )' \ | ||
+ | -- "$cur" ) ) | ||
+ | return 0 | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | |||
+ | # no command yet, show what commands we have | ||
+ | if [ "$command" = "" ]; then | ||
+ | COMPREPLY=( $( compgen -W '${COMMANDS[@]}' -- "$cur" ) ) | ||
+ | fi | ||
+ | |||
+ | return 0 | ||
+ | } && | ||
+ | complete -F _apt apt | ||
+ | |||
+ | # ex: ts=4 sw=4 et filetype=sh | ||
+ | </file> | ||
+ | |||
+ | Merci à MicP pour le tuyau [[https://debian-facile.org/viewtopic.php?pid=177389#p177389 | sur le forum.]] ;-) | ||
+ | <note>Ceci concerne uniquement ''bash'' (l’interpréteur de commande par défaut). Pour ceux qui utilisent ''zsh'', l'autocomplétion fonctionne nativement.</note> | ||
===== Ressources ===== | ===== Ressources ===== | ||
Ligne 161: | Ligne 311: | ||
* [[https://debian-handbook.info/browse/fr-FR/stable/sect.apt-get.html|Commandes aptitude, apt-get et apt]] | * [[https://debian-handbook.info/browse/fr-FR/stable/sect.apt-get.html|Commandes aptitude, apt-get et apt]] | ||
* [[https://www.debian.org/doc/manuals/debian-reference/ch02.fr.html|Gestion des paquets Debian]] | * [[https://www.debian.org/doc/manuals/debian-reference/ch02.fr.html|Gestion des paquets Debian]] | ||
+ | * [[http://blog.niqnutn.com/index.php?article43/gestion-des-paquets-avec-apt|Gestion des paquets avec APT]] | ||
+ | |||
+ | ===== Lien vers le forum ===== | ||
+ | * [[https://debian-facile.org/viewtopic.php?pid=177389#p177389 | Micp - L'autocompletion avec l'outil apt.]] |