La orden dpkg deja de funcionar

La orden dpkg deja de funcionar y devuelve el error siguiente:

"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)[/b]
"

Con un terminal, la solución es cambiar el path de acceso por el siguiente:

$ sudo export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin

Y  ya funciona correctamente, pero solo para la sesión, al reiniciar el sistema volverá a fallar.

Para que se quede de forma permanente en el sistema hay tres opciones:

1.- Si utilizamos sudo normalmente añadimos al fichero /etc/sudoers las siguientes líneas:

Defaults   env_reset
Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

2.- Ponemos dentro del archivo oculto .bashrc de nuestro usuario, lo siguiente:

echo 'export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> /home/nuestro_usuario/.bashrc

Y el problema queda definitivamente solucionado, está claro que la solución de ponerlo en el archivo .bashrc solo sirve para nuestro usuario.


3.-  Finalmente, quizás la solución más elegante seria:

#nano /etc/profile

La solución es corregir el direccionamiento de PATH y dejarlo correcto, para ello comentamos las líneas anteriores y agregamos el PATH o dirección correcta.

#if [ "`id -u`" -eq 0 ]; then
# PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#else
#  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
#fi


if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
fi