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 [10/01/2016 19:08] nIQnutn [Installer un nouveau paquet] |
doc:systeme:apt:apt [18/07/2018 19:10] smolski [Autres fonctions utiles] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : utiliser le gestionnaire de paquet apt | * Objet : utiliser le gestionnaire de paquet apt | ||
- | * Niveau requis : FIXME {{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à !]] :-) |
- | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag>à-tester}} |
* Création par [[user>nIQnutn]] 10/01/2016 | * Création par [[user>nIQnutn]] 10/01/2016 | ||
- | * Testé par <...> le <...> FIXME | + | * Testé par <...> le <...> |
- | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=13033| Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=13033| Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | **Nota :** | ||
- | |||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 18: | Ligne 15: | ||
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. | ||
- | Plutôt que d'utiliser des interfaces graphiques comme synaptic, on va privilégier les outils en ligne de commande. | + | Plutôt que d'utiliser des interfaces graphiques comme [[doc:systeme:apt:synaptic|synaptic]], on va privilégier les outils en ligne de commande. |
Il existe différents utilitaires [[doc:systeme:apt:apt-get|apt-get]], [[doc:systeme:apt:aptitude|aptitude]] et apt permettant d'éxécuter les mêmes opérations. | Il existe différents utilitaires [[doc:systeme:apt:apt-get|apt-get]], [[doc:systeme:apt:aptitude|aptitude]] et apt permettant d'éxécuter les mêmes opérations. | ||
Ligne 26: | Ligne 23: | ||
- | 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]] . |
**apt** simplifie et uniformise les commandes et apporte une interface plus agréable (barre de progression et coloration syntaxique). | **apt** simplifie et uniformise les commandes et apporte une interface plus agréable (barre de progression et coloration syntaxique). | ||
Ligne 41: | 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 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 bugs et installer les correctifs de sécurité. | + | Cela permet de corriger des bugs et d'installer les correctifs de sécurité. |
<code root>apt upgrade</code> | <code root>apt upgrade</code> | ||
- | On la précède toujours de la commande `apt update`. | + | Elle doit toujours être précédée de la commande ''apt update''. |
De nouveaux paquets peuvent être installés, mais les paquets installés ne seront jamais supprimés. | De nouveaux paquets peuvent être installés, mais les paquets installés ne seront jamais supprimés. | ||
===== 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 63: | 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 67: | ||
On peut installer plusieurs paquets en même temps, en séparant simplement le nom des paquets par un espace. | On peut installer plusieurs paquets en même temps, en séparant simplement le nom des paquets par un espace. | ||
- | apt install <paquet1> <paquet2> <paquet3> | + | <code root>apt install <paquet1> <paquet2> <paquet3></code> |
+ | |||
- | La commande *install* installera automatiquement toutes les dépendances nécessaires. | + | La commande **install** installera automatiquement toutes les dépendances nécessaires. |
Si vous utilisez les dépôts de rétroportage (backports) ou si vous utilisez plusieurs branches de Debian (pinning), il est possible de forcer l'installation d'un paquet d'une branche: | Si vous utilisez les dépôts de rétroportage (backports) ou si vous utilisez plusieurs branches de Debian (pinning), il est possible de forcer l'installation d'un paquet d'une branche: | ||
- | apt install -t jessie-backports libreoffice | + | <code root>apt install -t jessie-backports libreoffice</code> |
+ | |||
- | 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/aptsources.list* . | + | |
+ | <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 89: | Ligne 98: | ||
Cette commande permet de supprimer un paquet présent sur votre système. | Cette commande permet de supprimer un paquet présent sur votre système. | ||
- | apt remove <paquet> | + | <code root>apt remove <paquet></code> |
+ | |||
La commande supprimera également les dépendances qui ne sont plus nécessaires. | La commande supprimera également les dépendances qui ne sont plus nécessaires. | ||
- | warning: il faut toujours regarder quels paquets seront supprimés. | + | <note important>Il faut toujours regarder quels paquets seront supprimés. |
Dans certains cas exceptionnels, le gestionnaire de paquet pourrait supprimer des paquets dont vous avez besoin. | Dans certains cas exceptionnels, le gestionnaire de paquet pourrait supprimer des paquets dont vous avez besoin. | ||
+ | </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 102: | Ligne 116: | ||
Cette commande permet de bénéficier de la coloration syntaxique et fournit des vérifications de sécurité de base. | Cette commande permet de bénéficier de la coloration syntaxique et fournit des vérifications de sécurité de base. | ||
- | apt edit-sources | + | <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 ===== | ||
- | ### Connaître les paquets qui seront mis à jour | + | ==== Connaître les paquets qui seront mis à jour ==== |
- | apt list --upgradable | + | <code user>apt list --upgradable</code> |
+ | |||
Cela permet de connaître les paquets qui seront installés lors de la prochaine mise à jour (upgrade). | Cela permet de connaître les paquets qui seront installés lors de la prochaine mise à jour (upgrade). | ||
- | ### 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). |
- | apt show <paquet> | + | <code user>apt show <paquet></code> |
+ | |||
- | ### Trouver les versions disponibles d'un logiciel | + | ==== Trouver les versions disponibles d'un logiciel ==== |
Cela permet de connaître les versions disponibles pour un paquet. | Cela permet de connaître les versions disponibles pour un paquet. | ||
- | apt list --all-versions libreoffice | + | <code user>apt list --all-versions <paquet></code> |
+ | |||
Cette commande est véritablement utile si vous utilisez des dépôts supplémentaires ou si vous utilisez plusieurs branches de Debian. | Cette commande est véritablement utile si vous utilisez des dépôts supplémentaires ou si vous utilisez plusieurs branches de Debian. | ||
- | ### 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. |
- | apt search <terme> | + | <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. |
- | apt full-upgrade | + | <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 ===== | ||
- | Consulter le manuel de la commande *apt*: | + | Consulter le manuel de la commande **apt**: |
+ | |||
+ | <code user>man apt</code> | ||
+ | |||
+ | * [[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]] | ||
+ | * [[http://blog.niqnutn.com/index.php?article43/gestion-des-paquets-avec-apt|Gestion des paquets avec APT]] | ||
- | man apt | + | ===== Lien vers le forum ===== |
- | * [Commandes aptitude, apt-get et apt](https://debian-handbook.info/browse/fr-FR/stable/sect.apt-get.html) | ||
- | * [Chapitre 2. Gestion des paquets Debian](https://www.debian.org/doc/manuals/debian-reference/ch02.fr.html) | ||
+ | * [[https://debian-facile.org/viewtopic.php?pid=177389#p177389 | Micp - L'autocompletion avec l'outil apt.]] |