Pular para o conteúdo

Problemas com PATH ao executar comandos com su

Dica publicada em Linux / Introdução
Danilo Almeida paioniu
Hits: 2.375 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Problemas com PATH ao executar comandos com su

O que fazer se, mesmo num shell como root, você não consegue rodar ferramentas de administrador? Em sistemas Debian isso pode ter a ver com a forma que o PATH é setado.

Acessando as Ferramentas de Superusuário no Debian

Se você tentou executar uma ferramenta de administrador no Debian, pode ter recebido uma mensagem de erro sugerindo que a ferramenta não se encontra no PATH. Por exemplo:

# dpkg -i /home/danilo/Downloads/firmware-realtek_20190114-2_all.deb

Saída:

dpkg: aviso: 'ldconfig' não foi encontrado em PATH ou não é executável
dpkg: aviso: 'start-stop-daemon' não foi encontrado em PATH ou não é executável
dpkg: erro: 2 programas esperados não foram encontrados em PATH ou não são executáveis
Ao checar o PATH, você descobre que o diretório das ferramentas de administrador, /sbin, não consta:

# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Note que neste caso, o dpkg não é a ferramenta que não foi encontrada, mas sim "ldconfig" e "start-stop-daemon", que foram chamados por "dpkg". O dpkg consta no PATH do usuário não administrador. A solução para isso é rodar a ferramenta LOGADO como usuário root. Fazemos isso acrescentando um traço ('-') como parâmetro do comando su:

su -

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# dpkg -i /home/danilo/Downloads/firmware-realtek_20190114-2_all.deb
A seleccionar pacote anteriormente não seleccionado firmware-realtek.
(Lendo banco de dados ... 185785 ficheiros e directórios actualmente instalados.)
A preparar para desempacotar .../firmware-realtek_20190114-2_all.deb ...
A descompactar firmware-realtek (20190114-2) ...
Configurando firmware-realtek (20190114-2) ...
update-initramfs: deferring update (trigger activated)
A processar 'triggers' para initramfs-tools (0.133+deb10u1) ...
update-initramfs: Generating /boot/initrd.img-4.19.0-8-amd64


Isso acontece porque o arquivo /etc/profile é quem determina a inclusão de /sbin etc no PATH. E esse arquivo só é lido durante o login. Se você apenas executar su não estará logando como root, mas apenas executando uma seção interativa como tal, ignorando a configuração em /etc/profile.

Referência: manual do su

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

Pérolas do desconhecido, comandos não tão conhecidos que podem ser úteis

Tutorial Resumido de Instalação Lotus Notes 8.5.2 no Debian Squeeze

Slackware 14.1 no VirtualBox - Vídeo

Como instalar o Thunderbird 3.1.1 no Ubuntu 10.04

Como criar pendrive USB do Windows 10 bootável usando Linux

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.