Eu estava tentando instalar o bsd-mailx
utilitário, o pacote foi instalado, no entanto, estou me perguntando sobre o erro.
Este é o erro que recebo:
Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)
$PATH
por favor?echo $PATH
um terminal.cat /etc/environment
?Respostas:
Primeiro de tudo, as linhas pelas quais você está realmente interessado são:
Esses erros foram relatados várias vezes pelos usuários do Debian e Ubuntu (você pode pesquisá-los no Google para obter mais informações). Parece que a
PATH
variável não está definida corretamente quando o usuário tenta executar um comandosudo
, o que provavelmente é o que você está tentando fazer.Solução 1:
sudo
caminho seguro padrão do conjuntoAbra
/etc/sudoers
executandovisudo
no seu terminal e verifique se o arquivo inclui a seguinte linha:Mais informações sobre esse problema podem ser encontradas aqui (Problemas e dicas> CAMINHO não definido).
Solução 2: use a conta raiz diretamente
Não use
sudo
, basta alternar pararoot
para executar seus comandos. Execute um dos seguintes comandos para fazer isso:Depois de fazer login como root, basta executar seus
apt-get
comandos novamente:Talvez você precise definir o
PATH
primeiro da raiz . Edite/root/.bashrc
(com privilégios de root, é claro) e adicione a seguinte linha:Solução 3: tente passar a
PATH
variávelsudo
no tempo de execução.Apenas prefixe a
sudo
chamada com a redefinição daPATH
variável:fonte
/sbin
está faltando. Tente configurá-lo novamente (soluções 1 e / ou 3). Editei a solução 2 para incluir uma maneira de editar o PATH da raiz ao usar a conta interativamente.export PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin
primeiro, depoissudo -E apt install nginx
depois. A-E
opção significa--preserve-env
exportar seus envios para asudo
sessão.de alguma forma eu tive o mesmo problema.
Por favor, leia sua mensagem de erro com atenção e você encontrará a solução. Há uma nota que diz:
Depois verifiquei meu caminho e, de alguma forma, estava faltando o / sbin no meu caminho.
então eu adicionei e o problema se foi. :)
Tcharam!
fonte
Eu tive esse problema hoje e o resolvi comentando a linha (usando um #)
do meu arquivo / etc / sudoers usando
como raiz
Essa alteração fará com que o sudo use a variável secure_path padrão definida no mesmo arquivo.
fonte