EDIT: Les solutions proposées dans ce fil de discussion ne sont plus nécessaire
puisque un fichier de complétion existe maintenant dans les versions actuelles de debian
et il est installé par défaut.
Ci-dessous, le contenu du fichier /etc/bash_completion.d/apt qui vous permettra de bénéficier de la complétion pour la commande apt
# Debian apt(8) completion                             -*- shell-script -*-
_apt()
{
    local cur prev words cword
    _init_completion || return
    local special i
    for (( i=0; i < ${#words[@]}-1; i++ )); do
        if [[ ${words[i]} == @(list|search|show|update|install|remove|upgrade|full-upgrade|edit-sources) ]]; then
            special=${words[i]}
        fi
    done
    if [[ -n $special ]]; then
        case $special in
            remove|purge)
                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
                ;;
            *)
                COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \
                    2> /dev/null ) )
                return 0
                ;;
        esac
    fi
    case $prev in
        -c|--config-file)
             _filedir
             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
    return 0
} &&
complete -F _apt apt
# ex: ts=4 sw=4 et filetype=sh
Ensuite, lancez la ligne de commandes suivante :source /etc/bash_completionsi vous voulez le faire prendre en compte sans avoir besoin de relancer le système.
Au prochains démarrage, il ne sera pas nécessaire d’utiliser cette ligne de commande car elle sera lancée par votre ~/.bashrc ou de façon globale par /etc/bash.bashrc ou /etc/profile
=======
Voir aussi : debian-administration.org : An introduction to bash completion
EDIT : J’ai supprimé des options qui étaient en trop, mais il reste encore des trucs à adapter : Je pense que l’auteur de ce script avait fait une adaptation rapide à partir d’une copie du fichier /usr/share/bash-completion/completions/apt-get
 
      
    