Quando tento mudar para root usando, sudo -i
recebo o erro /var/tmp/sclDvf3Vx: line 8: -i: command not found
... No entanto, su -
funciona que continuarei a usar. Eu não sou de forma alguma um administrador de sistema Linux, então o ambiente ainda está bastante nebuloso para mim. Eu acho que minhas perguntas são:
- Por que o erro está sendo lançado?
- Qual é a diferença entre os dois comandos?
- Por que você usaria um sobre o outro?
Atualizar:
Estou usando a versão CentOS: CentOS release 6.6 (Final)
Aqui está a saída de alguns comandos que me pediram para executar, nos comentários abaixo.
type sudo
:sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudo
sudo -V
:/var/tmp/sclIU7gkA: line 8: -V: command not found
grep'^root:' /etc/passwd
:root:x:0:0:root:/root:/bin/bash
Atualizar:
Isso foi adicionado ao meu usuário não root ~ / .bashrc há um tempo, porque eu precisava de suporte ao C ++ 11. Quando eu comento, re-ssh in, posso executar o sudo -i sem problemas.
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
fi
linux
centos
command-line
sudo
th3v0id
fonte
fonte
-
é realmente um (ASCII)-
?alias
para o seusudo
comando?sudo
que não é o comando sudo normal. Dado que ele não entende as opções do sudo, claramente não é algo padrão. Use/usr/bin/sudo
ou pergunte aos administradores locais (quem realmente deveria ter lhe contado isso quando lhe deram poderes de sudo).Respostas:
A partir dos comentários e de suas investigações adicionais, parece que o seu devtoolset está modificando o
PATH
. Infelizmente, isso inclui o que parece ser um comando sudo antigo ou quebrado.Vale a pena tentar modificar o include do devtoolset
.bashrc
assim, e depois efetuar login novamente:fonte
Em vez de contornar o wrapper sudo quebrado do SCL, apenas o desativei.
Adicionar uma nova linha ao final do arquivo garante que ele não seja sobrescrito pelas atualizações subseqüentes do Yum, e então eu o deixo não executável.
Instalei o conjunto de ferramentas de desenvolvimento para obter versões modernas do gcc e do c ++ no RHEL 6 e não tive problemas ao compilar o código sem o sudo falso no mix.
fonte
Eu tive problemas semelhantes com o
sudo -E
sinalizador depois de usar o devtoolset-4. Você não deve adicionar-E
sinalizador nesse caso, porque é adicionado no/opt/rh/devtoolset-4/root/usr/bin/sudo
script do wrapper, eis o conteúdo dele:fonte