Não é possível executar comandos do terminal: “o comando 'sudo' está disponível em '/ usr / bin / sudo'”

13

Estou usando o Ubuntu 12.04 há um bom tempo e nunca tive um problema assim do nada. Estou tentando instalar o python 3.2 no meu sistema Ubuntu e toda vez que executo o código para compilar a fonte do python, recebo este erro:

'Command 'sudo' is available in '/usr/bin/sudo'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
sudo: command not found'

Eu também tentei executar o gksudocomando para ver o que meu ambiente mostra, mas recebo o mesmo erro.

user188283
fonte
Aposto que você provavelmente receberá o mesmo erro ao tentar executar seus aplicativos através da linha de comando. Qual é o resultado de cat /etc/environment?
Alaa Ali
Você poderia nos dizer qual programa você está tentando executar? Alguns programas alteram a variável PATH, mas sem o nome não podemos ter certeza.
Braiam

Respostas:

24

Como o erro diz, você deve adicionar o /usr/bindiretório à sua variável de ambiente PATH. Para fazer isso, execute o seguinte comando no terminal:

export PATH=$PATH:/usr/bin

Depois de usar sudo, você pode editar o /etc/environmentarquivo para tornar a alteração permanente, portanto, execute no terminal:

sudo nano /etc/environment

para editar o arquivo. Verifique se o caminho é algo como isto:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Salve e feche o arquivo com Ctrl+ Xe pressione Yquando for solicitado.

Consulte também: Como adicionar um diretório ao PATH?

Radu Rădeanu
fonte
Isso não é permanente, certo? Se ele reiniciar, desaparecerá novamente.
Alaa Ali
1
Sim. As configurações permanentes para o usuário são, provavelmente, em ~/.profile, ~/.bashrc, ~/.pam_environmentou ~/.xsessionrc. Configurações para todos os usuários são, provavelmente, em /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. Provavelmente, um dos arquivos de seus usuários substitui as configurações padrão do sistema. Se você tiver outro usuário ou a conta de convidado ativada, tente com o outro usuário e veja se o problema existe para esse outro usuário também. Caso contrário, verifique seus próprios arquivos de script de inicialização dos usuários.
soulsource
1
Funcionou perfeitamente. Muito obrigado! Mas, você poderia adicionar mais informações sobre como fazer essa alteração permanenr ??? Desde já, obrigado.
OscaRoCa
Eu recebi este erro: MY_USER_NAME não está no arquivo sudoers. Este incidente será relatado. , Eu não sou o administrador .. o que eu tenho que fazer ..
Ghanem
6

Eu obtive o problema e o corrigi editando meu arquivo .bashrc

  1. Abra o seu arquivo .bashrc usando o nano

    $ sudo nano ~/.bashrc
    
  2. Adicione a seguinte linha ao arquivo bashrc

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Pressione Ctrl + X para salvar o arquivo

  4. Ele pedirá para alterar o arquivo, pressione y e Enter

Você Terminou.

user3721406
fonte
1
Não manipule arquivos no seu diretório pessoal ( ~) usando sudo. Pode criar mais problemas do que resolver.
Melebius 23/07
1

Quando você quiser adicionar um novo valor para a PATHvariável de sistema, você provavelmente adicionar uma nova linha para ~/.bashrcou ~/.bash_profilearquivos.

Por exemplo, se você deseja adicionar /opt/netbeans/bina PATH, você deve adicionar esta linha ao final do ~/.bashrcarquivo:

export PATH=$PATH:/opt/netbeans/bin

Vamos quebrar essa linha.

  • export PATH- Aqui nos referimos à PATHvariável
  • =- Queremos atribuir a ele um novo valor usando o =operador (O restante da string é o valor que será armazenado no PATH)
  • $PATH- Atribuímos a variável PATHao valor que estava na variável antes do comando atual
  • : - Adicionamos um separador para o novo valor
  • /opt/netbeans/bin - E adicione um novo valor ao PATH

Você deve ver todas as suas referências à PATHvariável nos arquivos ~/.bashrcou ~/.bash_profilee certifique-se de expandir -

export PATH=$PATH:/opt/netbeans/bin

e não sobrescrever assim -

export PATH=/opt/netbeans/bin

a PATHvariável

Você deve se certificar de que, em todas as referências ao PATHuso que você usa $PATH:e seu valor adicional após ele


Se não funcionar, você pode fazer algo assim:

  • Verifique se há algo como a próxima variável no /etc/environmentarquivo e ela nunca é redefinida neste arquivo:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • Adicione os caminhos ausentes da PATHvariável acima à sua PATHvariável localizada no diretório/etc/environment

Antes de testar após cada alteração nos arquivos, não se esqueça de atualizar suas configurações.

Por exemplo, para o ~/.bashrcarquivo:

source `~/.bashrc`
fedotsoldier
fonte