Error al actualizar "dpkg: error: no se ha encontrado 2 en el PATH o no es ejecutable"
#1
Lun, 06/08/2018 - 15:18
Error al actualizar "dpkg: error: no se ha encontrado 2 en el PATH o no es ejecutable"
Estado:
[SOLUCIONADO]
Hoy he tenido un error al actualizar en Debian testing (buster) 64 bts. Con escritorio Plasma. Al hacer un apt upgrade me muestra este error:
root@debian:/home/pablo# apt upgrade
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Calculando la actualización... Hecho
Los siguientes paquetes se han retenido:
bind9-host dnsutils libbind9-160 libirs160 libisc169 libisccc160 libisccfg160 liblwres160 libreoffice libreoffice-avmedia-backend-gstreamer libreoffice-base libreoffice-base-core libreoffice-base-drivers
libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-impress libreoffice-java-common libreoffice-l10n-es libreoffice-math libreoffice-report-builder-bin libreoffice-sdbc-firebird
libreoffice-sdbc-hsqldb libreoffice-style-tango libreoffice-writer python3-uno
Se actualizarán los siguientes paquetes:
apparmor bsdutils dbus dbus-user-session dbus-x11 dictionaries-common fdisk gdal-data gir1.2-gstreamer-1.0 glx-alternative-mesa glx-alternative-nvidia glx-diversions grub-common grub-pc grub-pc-bin grub2-common
libapparmor1 libblkid1 libblkid1:i386 libbrotli1 libcryptsetup12 libdbus-1-3 libdbus-1-3:i386 libdbus-1-dev libdns-export1102 libegl-mesa0 libegl-mesa0:i386 libegl1-mesa libepsilon1 libfdisk1 libfreexl1 libfyba0
libgbm1 libgbm1:i386 libgdal20 libgeotiff2 libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-dri:i386 libgl1-mesa-glx libgl1-mesa-glx:i386 libglapi-mesa libglapi-mesa:i386 libgles2-mesa libglx-mesa0 libglx-mesa0:i386
libgrilo-0.3-0 libgstreamer1.0-0 libhdf4-0-alt libidn2-0 libisc-export169 libkmlbase1 libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1 libkmlxsd1 libmount1 libmount1:i386 libmspack0 libnetcdf13
libogdi3.2 libosmgpsmap-1.0-1 libpugixml1v5 libsmartcols1 libsmartcols1:i386 libtesseract4 libuuid1 libuuid1:i386 libwayland-egl1-mesa libxatracker2 man-db mesa-common-dev mesa-va-drivers mount net-tools
update-glx util-linux util-linux-locales uuid-dev uuid-runtime:i386 vim-common vim-tiny xxd
84 actualizados, 0 nuevos se instalarán, 0 para eliminar y 27 no actualizados.
Se necesita descargar 0 B/45,3 MB de archivos.
Se liberarán 873 kB después de esta operación.
¿Desea continuar? [S/n] s
Obteniendo informes de fallo... Finalizado
Analizando información Encontrada/Corregida... Finalizado
Leyendo lista de cambios... Hecho.
Extrayendo plantillas para los paquetes: 100%
Preconfigurando paquetes ...
dpkg: atención: `ldconfig' no se ha encontrado en el PATH o no es ejecutable
dpkg: atención: `start-stop-daemon' no se ha encontrado en el PATH o no es ejecutable
dpkg: error: no se ha encontrado 2 en el PATH o no es ejecutable
NOTA: El PATH de root debería incluir habitualmente /usr/local/sbin, /usr/sbin y /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)
root@debian:/home/pablo# dpkg --configure -a
dpkg: atención: `ldconfig' no se ha encontrado en el PATH o no es ejecutable
dpkg: atención: `start-stop-daemon' no se ha encontrado en el PATH o no es ejecutable
dpkg: error: no se ha encontrado 2 en el PATH o no es ejecutable
NOTA: El PATH de root debería incluir habitualmente /usr/local/sbin, /usr/sbin y /sbin.
He hecho un dpkg --configure -a por probar, pero me sigue dando el mismo error asi que mirando por la red he encontrado la solución.
Solo abrir una terminal como root y ejecutar esto:
export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
Tras eso puedo actualizar sin problemas. Para que el cambio sea permanente y que no se repita el error, editamos /etc/sudoers agregando esto dentro:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Fuente:
En realidad parece que hay un cambio de política en debian y a partir de debian buster se va a usar
en lugar de
y si se quiere seguir usando el su solo hay que editar
y agregar el siguiente texto al final
fuente: /usr/share/doc/util-linux/NEWS.Debian.gz
Bien, para quien quiera investigar diferencias hagan esta comprobación
luego salir del terminal con 'exit' y nuevamente en otro terminal
Vale, la parte de editar /etc/sudoers no funciona. Tras reiniciar vuelve a salir el error logeandome con su. Asi que probare a acostumbrarme a usar su -.
Con su - funciona sin problemas.
We were but stones. Your light made us stars
Otra alternativa es poner el path en nuestro .bashrc
Un comentario sobre seguridad hacia los novatos, hagan previamente una copia de ~/.bashrc
De tal modo tendran un archivo original para reemplazar si dañan al modificarlo , ejemplo :
Si al ejecutar
En cambio si ejecutan :
Notese la diferencia entre utilizar
echo >> (append) agregar
echo > sustituir
En mi caso utilizo leafpad para editar archivos del sistema, si utilizo su -, no puedo utilizar leafpad con los archivos del sistema, lo cual resolví editando el archivo root/.bashrc y agregando la siguiente linea.
no es mas una combinación de path de su y su -
Saludos
Alternativa para usar un editor gráfico como root (cuidado!!)
(Sustituir leafpad por el editor gráfico de preferencia )
otra opción para ese caso seria
parece que ahora no funciona![crying crying]()
saludos...