Comando não encontrado, sugestão de instalação do programa no terminal da sua Distro Linux

Sugestão de Instalação de Programa no Terminal Linux

Quando você se depara com o erro "Comando não encontrado" no terminal da sua distribuição Linux, é possível receber sugestões para instalar o programa desejado automaticamente. Esse recurso é bastante comum em distribuições como Debian, Ubuntu e seus derivados, mas também pode ser adicionado em outras distros Linux.

Veja como adicionar esse recurso nas diversas distribuições Linux:

Comando não encontrado para Debian, Ubuntu e derivados

No Debian, Ubuntu e distribuições derivadas, o pacote responsável por esse recurso é o command-not-found.

Instalação:

sudo apt install command-not-found
sudo apt update
sudo apt-file update
sudo update-command-not-found

Comando não encontrado para Fedora

No Fedora e derivados, você pode usar o pacote PackageKit-command-not-found.

Instalação:

sudo dnf makecache
sudo dnf install PackageKit-command-not-found

Comando não encontrado para Arch Linux e Manjaro

No Arch Linux e derivados, como Manjaro, o pacote com funcionalidade semelhante é o pkgfile.

Instalação:

sudo pacman -S pkgfile
sudo pkgfile -u

Além disso, você pode usar um script modificado para obter resultados mais detalhados.

Instalação do Script Modificado:

echo "command_not_found_handle () {
  local pkgs cmd=\$1
  local FUNCNEST=10

  set +o verbose

  mapfile -t pkgs < <(pkgfile -bv -- "\$cmd" 2>/dev/null)

  if (( \${#pkgs[*]} )); then
    local pkg=\${pkgs[0]%% *}
    printf '\\n'
    printf 'O programa "%s" não está instalado, mas é encontrado no pacote:\\n\\n' "\$cmd"
    printf '  %s\\n' "\${pkgs[@]}"
    printf '\\n'
    printf 'O programa pode ser instalado com o comando.\\n\\n'
    printf '  sudo pacman -S %s\\n\\n' "\${pkgs[0]%% *}"
    read -r -p 'Se preferir, posso instalar o programa \$pkg agora mesmo? [Y/n] ' response
    [[ -z \$response || \$response = [Yy] ]] || return 0

    printf '\\n'
    sudo pacman -S -- "\$pkg"
  else
    printf "bash: %s: command not found\\n" "\$cmd"
  fi >&2

  return 127
}" >> ~/.comandnotfound

echo "source ~/.comandnotfound" >> ~/.bashrc

Após a instalação e configuração, feche o terminal e abra novamente para testar o recurso.

Comments