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/07/2016 16:53] AbdelQahar [Astuce : ajouter l'autocompletion pour Debian 8] |
doc:systeme:apt:apt [13/01/2017 19:58] nIQnutn [Editer le 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éralement 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 ===== | ||
Ligne 105: | Ligne 105: | ||
<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 ==== | ==== Avec sources.list.d ==== | ||
| | ||
Ligne 159: | Ligne 169: | ||
- | ===== Astuce : ajouter l'autocompletion pour Debian 8 ===== | + | ===== 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 : | 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 : | ||
Ligne 167: | Ligne 177: | ||
_apt() | _apt() | ||
{ | { | ||
+ | local sourcesdir="/etc/apt/sources.list.d" | ||
local cur prev words cword | local cur prev words cword | ||
_init_completion || return | _init_completion || return | ||
- | local special i | + | # 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 | for (( i=0; i < ${#words[@]}-1; i++ )); do | ||
- | if [[ ${words[i]} == @(list|search|show|update|install|remove|upgrade|full-upgrade|edit-sources|dist-upgrade|purge) ]]; then | + | if [[ ${COMMANDS[@]} =~ ${words[i]} ]]; then |
- | special=${words[i]} | + | command=${words[i]} |
+ | break | ||
fi | fi | ||
done | done | ||
- | if [[ -n $special ]]; then | + | # supported options per command |
- | case $special in | + | if [[ "$cur" == -* ]]; then |
- | remove|purge) | + | 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 | if [[ -f /etc/debian_version ]]; then | ||
# Debian system | # Debian system | ||
Ligne 190: | Ligne 251: | ||
return 0 | return 0 | ||
;; | ;; | ||
- | *) | + | show|list) |
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ | COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ | ||
2> /dev/null ) ) | 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 | return 0 | ||
;; | ;; | ||
Ligne 198: | Ligne 270: | ||
fi | fi | ||
- | case $prev in | + | # no command yet, show what commands we have |
- | -c|--config-file) | + | if [ "$command" = "" ]; then |
- | _filedir | + | COMPREPLY=( $( compgen -W '${COMMANDS[@]}' -- "$cur" ) ) |
- | return 0 | + | |
- | ;; | + | |
- | -t|--target-release|--default-release) | + | |
- | COMPREPLY=( $( apt-cache policy | \ | + | |
- | command grep "release.o=Debian,a=$cur" | \ | + | |
- | sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) ) | + | |
- | return 0 | + | |
- | ;; | + | |
- | esac | + | |
- | + | ||
- | if [[ "$cur" == -* ]]; then | + | |
- | COMPREPLY=( $( compgen -W '-d -f -h -v -m -q -s -y -u -t -b -c -o | + | |
- | --download-only --fix-broken --help --version --ignore-missing | + | |
- | --fix-missing --no-download --quiet --simulate --just-print | + | |
- | --dry-run --recon --no-act --yes --assume-yes --show-upgraded | + | |
- | --only-source --compile --build --ignore-hold --target-release | + | |
- | --no-upgrade --force-yes --print-uris --purge --reinstall | + | |
- | --list-cleanup --default-release --trivial-only --no-remove | + | |
- | --diff-only --no-install-recommends --tar-only --config-file | + | |
- | --option --auto-remove' -- "$cur" ) ) | + | |
- | else | + | |
- | COMPREPLY=( $( compgen -W 'list search show update install | + | |
- | remove upgrade full-upgrade edit-sources dist-upgrade | + | |
- | purge' -- "$cur" ) ) | + | |
fi | fi | ||
Ligne 235: | Ligne 283: | ||
Merci à MicP pour le tuyau [[https://debian-facile.org/viewtopic.php?pid=177389#p177389 | sur le forum.]] ;-) | 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'', la complétion fonctionne nativement !</note> | + | <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 ===== | ||