Estaba intentando instalar bsd-mailx
la utilidad, el paquete se instaló, sin embargo, me pregunto cuál es el error.
Este es el error que me sale:
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)
Respuesta1
En primer lugar, las líneas que realmente te interesan son:
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
Estos errores han sido reportados varias veces por usuarios de Debian y Ubuntu (de hecho, puedes buscarlos en Google para obtener más información). Parece que la PATH
variable no está configurada correctamente cuando el usuario intenta ejecutar un comando a través de sudo
, que probablemente es lo que estás intentando hacer.
Solución 1: Establecer sudo
la ruta segura predeterminada
Ábralo /etc/sudoers
ejecutando visudo
en su terminal y asegúrese de que el archivo incluya la siguiente línea:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Puede encontrar más información sobre este problema.aquí(Problemas y consejos > RUTA no configurada).
Solución 2: use la cuenta raíz directamente
No use sudo
, simplemente cambie a root
para ejecutar sus comandos. Ejecute uno de los siguientes comandos para hacerlo:
$ sudo -i
$ su
Una vez que haya iniciado sesión como root, simplemente ejecute sus apt-get
comandos nuevamente:
# apt-get ...
Sin embargo , es posible que tengas que establecer la raíz PATH
primero. Edite /root/.bashrc
(con privilegios de root, por supuesto) y agregue la siguiente línea:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Solución 3: intente pasar la PATH
variable sudo
en el momento de la ejecución.
Simplemente anteponga la sudo
llamada con la redefinición de la PATH
variable:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin sudo apt-get ...
Respuesta2
de alguna manera tuve el mismo problema.
Lea atentamente su mensaje de error y encontrará la solución. Hay una nota que dice:
Nota: la RUTA de root normalmente debe contener /usr/local/sbin, /usr/sbin y /sbin.
Luego verifiqué mi ruta y de alguna manera me faltaba el /sbin en mi ruta.
eco $ RUTA
luego agregué y el problema desapareció. :)
exportar RUTA="$RUTA:/sbin"
¡Tcharam!
Respuesta3
La falta de descripción en la pregunta hace que sea difícil identificar el problema exacto en esta situación, pero recientemente me enfrenté al mismo problema:
user@debian:su
Password:
root@debian:/home/user/Downloads# dpkg -i [Some package]
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
La solución fue usar su -
en lugar de su
(que generalmente es mejor, como se detalla enlas respuestas a esta pregunta):
user@debian:su -
Password:
root@debian:~# cd /home/user/Downloads/
root@debian:/home/user/Downloads# dpkg -i [Some package]
Respuesta4
Ninguna de las soluciones mostradas aquí me ayudó, así que explicaré lo que me pasó y qué hice para solucionarlo:
Estaba intentando instalar Insync en mi sistema Q4OS y no pude porque la aplicación requiere libc6 >= 2.32 y Q4OS usa 2.31. Encontré un deb libc6 de 2.32 y luego comenzó la pesadilla. Se ha roto todo mi sistema. apt-get
dejó de funcionar y dice que el sistema necesita libc6 2.31 para funcionar correctamente. En ese momento no sabía cómo bajar la versión. Entonces, después de reiniciar, el sistema simplemente no se inició y colgó con el mensaje al arrancar:
A start job is running for Hold until boot process finishes up (Xmin Xs/no limit)
Intenté cambiar de terminal sin éxito. Con suerte, mi Linux se estaba ejecutando en VMWare y pude conectarme a la máquina usando SSH.VM -> SSH -> Connect to SSH...
Después de eso, intenté muchas cosas sin éxito. Intenté actualizar con:
sudo apt install upgrade
y el mensaje dice que tuve que ejecutar:
sudo apt --fix-broken install
Pero cuando intenté ejecutarlo, dijo que se eliminarían muchos paquetes, incluido q4os-desktop
él mismo. Bueno, acepto las condiciones y lo intenté. ¿Qué más podría perder?
Después de eso, la cosa empeora demasiado. No pude ejecutar nada. Recibí un error similar a la pregunta:
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)
Pero el problema no era la RUTA en sí, sino que ldconfig es parte de libc6 y se eliminó. No pude hacer nada porque casi todo depende de libc6 y ldconfig. Intenté compilar libc6 desde el código fuente, pero sin éxito. Tiene muchas dependencias y cuando intenté instalar una dependencia, la biblioteca intentó usar algo de libc6. Una especie de bucle de dependencia.
Entonces, reinicio el sistema con el Live CD de Q4OS y simplemente copio el ldconfig binario en /usr/sbin/ldconfig
. ¡Bien! Ahora, apt-get
empezó a funcionar de nuevo (no perfectamente, pero...). Entonces descubrí cómo degradar la biblioteca:
sudo apt install libc6=2.31-13+deb11u3
Si no está seguro de qué versión utilizar, ejecute:
apt list --installed | grep libc6
dentro del Live CD. La salida debería ser algo como:
libc6/stable,now 2.31-13+deb11u3 amd64 [installed]
Después de eso, pude instalar Q4OS nuevamente:
sudo apt install q4os-desktop
Después de reiniciar, ¡todo volvió a la normalidad!
Pero ahora, cuando ejecuto Insync, la aplicación falla después de 5 segundos.