Por que o manipulador de comando não encontrado é acionado para um comando que existe?

Por que o manipulador de comando não encontrado é acionado para um comando que existe?

Eu tinha um pacote (neste caso, Docker) para o qual a versão disponível nos repositórios do Ubuntu era muito antiga, então adicionei o repositório Docker às minhas fontes apt e instalei o pacote a partir daí.

Agora, com meu usuário normal, quando tento executá-lo, o manipulador de comando não encontrado entra em ação:

user@host:~$ docker
The program 'docker.io' is currently not installed. You can install it by typing:
sudo apt-get install docker.io

Embora o binário esteja no meu caminho, tudo bem:

user@host:~$ which docker
/usr/bin/docker

E eu tenho permissões de execução:

user@host:~$ /usr/bin/docker
Usage: docker [OPTIONS] COMMAND [arg...]

A self-sufficient runtime for linux containers.
....

Eu tentei hash -r, tentei executar um novo shell de login, mas sem sucesso: o manipulador de comando não encontrado ainda entra em ação.

Por que se comporta assim? é porque o pacote nos repositórios do Ubuntu é chamado docker.io, mas o pacote nos repositórios do Docker é chamado apenas docker?

Posso corrigir esse problema sem removê-lo command-not-foundcompletamente?

EDIT: Como instalei a versão recente dos repositórios do docker:

sudo -i
apt-get purge docker.io
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
echo "deb https://get.docker.com/ubuntu docker main" >/etc/apt/sources.list.d/docker.list
apt-get update
apt-get install docker

EDIT2: esqueci de mencionar: verifiquei que /usr/bin/docker não é um script wrapper:

user@host:~$ file /usr/bin/docker
/usr/bin/docker:  ELF 64-bit LSB  executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=a5773ec80f810b977dc93bb10b4c6c6b8c2b1abd, not stripped

Responder1

Muitas vezes é uma questão de apelidos, por exemplo. alias docker=docker.io em seu bashrc/zshrc... Também vale a pena verificar se a versão A E a versão B NÃO são instaladas juntas, o que geralmente causa conflitos de pacotes e nomenclatura.

informação relacionada