Antigo usuário do Ubuntu em transição para o Debian
Quando eu digito um comando que requer sudo
no Debian, mas esqueço de adicioná-lo, sudo
recebo uma mensagem de erro extremamente inútil e até incorretacommand not found
Por exemplo
Esqueci de digitarsudo
$ dmidecode
bash: dmidecode: command not found
Digitadosudo
$ sudo dmidecode
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
68 structures occupying 2743 bytes.
Table at 0x000EB9E0.
No Ubuntu, recebi uma mensagem de erro mais útil, como "você deve ser root para usar este comando" ou algo semelhante.
Existe uma maneira de obter uma mensagem de erro melhor no Debian?
Em resposta aos comentários
Fornecer o caminho completo do comando gera uma mensagem de erro mais útil:
$ /usr/sbin/dmidecode
# dmidecode 3.4
/sys/firmware/dmi/tables/smbios_entry_point: Permission denied
Scanning /dev/mem for entry point.
/dev/mem: Permission denied
Então isso provavelmente é um problema de caminho.
Conforme observado por steeldriver nos comentários , você precisa ter
command-not-found
instalado:E esteja executando um shell que esteja configurado para usá-lo, como o bash. Você precisará iniciar um novo shell, depois do qual você deverá ver algo como isto:
Isto é de um contêiner em execução
debian:12
.Descobri que no openSUSE Leap 15.5 isso
/usr/sbin
não estava disponívelPATH
para um usuário não root (quando testei uma imagem ativa).De /usr/sbin não está em $PATH no Debian 11 bullseye. Isso está correto? Isso também é verdade para o Debian.
Adicionar um ID
/usr/sbin
à suaPATH
conta de usuário é uma solução alternativa.O comando reside em
/usr/sbin/dmidecode
.Sua conta de usuário não está configurada para verificar
/usr/sbin
a existência dedmidecode
.Adicione
/usr/sbin
à sua variável de caminho.Execute o seguinte comando
Para tornar a alteração permanente, adicione o comando ao seu
.bashrc
arquivo (se estiver usando o bash)