Mostrando entradas con la etiqueta var. Mostrar todas las entradas
Mostrando entradas con la etiqueta var. Mostrar todas las entradas

E: Sub-process /usr/bin/dpkg returned an error code (1)

A la hora de hacer uso de apt-get bien para instalar, borrar, o actualizar el sistema. Al principio parece que toda va bien pero al final del proceso me indica que ha habido un error y me muestra:

E: Sub-process /usr/bin/dpkg returned an error code (1)

Al parecer al realizar las tareas cotidianas de actualización del sistema, algún paquete a quedado retenido y no permite continuar.

Uno de las formas que encontrado para poder liberar el proceso, que ha quedado atrapado. Es accediendo a la carpeta:

/var/lib/dpkg/info

En esta carpeta se recoge información sobre los paquetes instalados, o en proceso de instalación.

La solución es descubrir que paquete ha quedado retenido y borrar la información sobre el. Por ejemplo utilizando el comando

sudo apt-get update

Nos saldrá el paquete que está creando esta situación, seguido de E: Sub-process /usr/bin/dpkg returned an error code (1)

Accedemos al directorio:

cd /var/lib/dpkg/info

Y borramos los archivos relacionados con el paquete que ha quedado retenido. En mi caso eran varios y último era man-db

sudo rm man-db.*

Volvemos a actualizar las lista de paquetes:

sudo apt-get update

Y ya podemos actualizar nuestro sistema e instalar nuevos paquetes. 

Los directorio en Linux

Un anuncio decía que pasabamos mas de media vida buscando. En sistemas basado en Linux hay un sitio en cada carpeta y cada carpeta contiene:

  • / La raíz  del árbol de directorios. No determina ninguna unidad como podría ser en MS-DOS o Windows c: ó d: . Por que las distintas unidades se encuentran en otra carpeta y se acceden desde ella, pero siempre colgará de la raíz.
  • /bin contiene ficheros de comandos ejecutables utilizables por todos los usuarios. Aquí tenemos los programas que pueden lanzar todos los usuarios del sistema. Incluye también los binarios que permiten la ejecución de varias utilidades estándar de la terminal de Linux, concretamente cat, cd, cp, echo, grep, gzip, kill, ls, mv, rm, ping, su, ps, tar y vi.
  • /boot Este directorio incluye todos los ejecutables y archivos que son necesarios en el proceso de arranque del sistema, y que deberán ser utilizados antes que que el kernel empiece a dar las órdenes de ejecución de los diferentes módulos del sistema. Es también donde se encuentra el gestor de arranque GRUB.
  • /dev Este directorio incluye todos los dispositivos de almacenamiento, en forma de archivos, conectados al sistema, es decir, cualquier disco duro conectado, partición, memoria USB, o CDROM conectado al sistema y que el sistema pueda entender como un volumen lógico de almacenamiento.
  • /etc contiene los ficheros de configuración y utilidades para la administración. Tanto del sistema operativo con de las diversas aplicaciones que fuéramos instalando.
  • /home es un directorio donde se encuentran los directorios personales y los archivos particulares de configuración de los usuarios del sistema.
/home/user1/home/user2
  • /lib contiene librerías y compiladores del sistema. Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin únicamente. En los sistemas operativos de 64 bits, además de /lib existe otro directorio denominado /lib64, referida a las bibliotecas para aplicaciones de 64 bits.
  • /media contiene todas las unidades físicas que tenemos montadas: discos duros, unidades de DVD, pen drives, etc.
  • /opt sirve para admitir ficheros nuevos creados tras la modificación del sistema. Es un punto de montaje desde el que se instalan los paquetes de aplicación adicionales. Podemos usarla para instalar aplicaciones que no vienen en los repositorios, por ejemplo, aquellas que compilamos a mano.
  • /proc Este directorio contiene información de los procesos y aplicaciones que se están ejecutando en un momento determinado en el sistema, pero realmente no guarda nada como tal, ya que lo que almacena son archivos virtuales, por lo que el contenido de este directorio es nulo. Básicamente son listas de eventos del sistema operativo que se generan en el momento de acceder a ellos, y que no existen dentro del directorio como tales. No deberíamos modificar el contenido de este directorio.
  • /sbin es para ejecutables de uso exclusivo por el root tales como el arranque, tareas de restauración, reparación, etc.. Son los necesarios para arrancar y montar el directorio /usr.
  • srv Sirve para almacenar archivos y directorios relativos a servidores que puedas tener instalados dentro de tu sistema, ya sea un servidor web www, un servidor FTP, CVS, etc.
Así, por ejemplo, en el caso de tener instalado un servidor web, sería buena idea tener el directorio web público dentro de /srv, tal como así:
/srv/www
  • /tmp es donde se almacenan los archivos temporales.
  • /usr contiene utilidades y programas generales de usuario:
    • /usr/bin contiene programas de uso general.
    • /usr/share contiene archivos compartibles, independientes de la arquitectura.
      • /usr/share/doc contiene cierta documentación del sistema.
      • /usr/share/man contiene los manuales.
    • /usr/etc contiene archivos de configuración de uso global.
    • /usr/include contiene las cabeceras de C y C++.
    • /usr/lib contiene las bibliotecas de nuestros programas.
    • /usr/sbin contiene los programas de administración del sistema.
    • /usr/src contiene los códigos fuente de nuestros programas.
  • /var contiene ficheros para el administrador. Este directorio contiene información variable, como registros, datos de los servidores, etc.
Más artículos relacionados Los directorios de Linux II