Como señalan en wiki.debian.org, el comando “su” en Debian se proporcionaba por el paquete “shadow», pero en Debian Buster es el paquete “util-linux”; y esto es así desde que Buster era “testing”. Este cambio ha supuesto que “su” ya no altera la variable PATH (ruta) de manera predeterminada. Cuando abrimos en terminal sesión de superusuario con “su”, su ruta (PATH) puede no contener determinados directorios, como /sbin, y, consecuentemente, muchos comandos de administración del sistema fallarán; simplemente no se encuentran y el sistema responde “orden no encontrada” (command not found).
1. “Orden no encontrada”, entonces “su -”
Afortunadamente para los usuarios normales de escritorio “apt” funciona con “su”; al menos para mi es lo más rutinario. También “su” abre algunas aplicaciones como usuario root; DisplayCal, que es lo que usualmente necesito. Sin embargo, son otros muchos comandos los que no funcionan con “su”. Por ejemplo, los que yo me he encontrado son dpkg, adduser, ufw o hddtemp, pero hay más.
La solución es utilizar “su –” en lugar de “su”, como se recomienda en NewInBuster (wiki.debian.org). De esta forma se abre un inicio de sesión que obliga a cambiar PATH. Efectivamente, abriendo en terminal la sesión de superusuario con “su –” estarán disponibles todas, o casi todas, las opciones de administración del sistema.
Ahora bien, hay que tener en cuenta que cambia el directorio de trabajo. Por ejemplo, si abrimos la terminal en el navegador de archivos en la carpeta “Descargas” para instalar un paquete .deb con dpkg, el directorio cambiará. En ese caso, simplemente tendremos que cambiarlo de nuevo para ejecutar dpkg.
usuario@debian:~/Descargas$ su – (contraseña) root@debian:~# cd /home/usuario/Descargas root@debian:/home/usuario/Descargas# dpkg -i paquete_a_instalar
2. Cómo hacer para que “su” funcione como antes
Es posible, asimismo, configurar el sistema para que “su” tenga un comportamiento similar al anterior (wiki.debian.org). Es decir, que ahora “su” funcione también como “su -”. Esto se consigue agregando la línea de texto “ALWAYS_SET_PATH yes” en el archivo /etc/login.defs.
Está línea la situaremos en el archivo login.defs exactamente como se muestra seguidamente:
# *REQUIRED* The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
ALWAYS_SET_PATH yes
Para hacer esto, abrimos terminal con “su”. Primero, hacemos una copia de seguridad del archivo login.defs; por ejemplo en Documentos de nuestro usuario (pepe, benjamin, maria, o el que sea). Segundo, editamos el archivo /etc/login.defs con nano; agregamos la línea mencionada en la situación concreta; y, finalmente, guardamos los cambios (Ctrl-O) y salimos del editor (Ctrl-X).
$ su (contraseña) # cp /etc/login.defs /home/benjamin/Documentos # nano /etc/login.defs
3. Mi conclusión por el momento
Por el momento, creo que dejaré las cosas como están. Es decir utilizaré “su”, salvo en aquellas ocasiones que sé que he de utilizar “su –”; y, evidentemente, cuando me surja el mensaje “orden no encontrada”, pues “su –”. No obstante, he probado el cambio de configuración en login.defs (apartado 2), y en principio funciona. Es bueno saber que existen opciones, pero, aún así, me adaptaré a los tiempos que corren y “ya veremos”.
Saludos flamencos,
6 ideas sobre “Orden no encontrada (command not found). Utilicemos “su -” en lugar de “su” y está puede ser la solución en Debian Buster.”
Es muy útil la información encontrada gracias por la claridad de la misma
Me alegra que te haya sido útil, y gracias por comentarlo.
Saludos flamencos,
Un poco confuso la teoría, pero nada que una lectura a fondo no solucione. Sin embargo aprovecho para preguntar, ¿Cómo como la contraseña de superusuario?. Ya que cuando lo instalé lo hice de forma gráfica.
Juan Carlos veras no sé si entiendo la cuestión. Cuando utilizamos el disco de instalación en el modo “Instalación Gráfica” se configura el usuario “root” o superusuario. Ahora bien, nunca he utilizado para la instalación el “Live CD/DVD”, pero creo haber leído que en este caso se configura “sudo”. No sé si te refieres a esto último.
Saludos flamencos,
Buenísimo el post, me ha ayudado mucho la información y te cuento que también he decidido dejarlo tal cual y usar «su -» cuando sea necesario. Gracias por compartir.
Gracias, me alegra que te haya sido útil. Yo sigo con «su -» cuando sea necesario.
Saludos flamencos,