Razones y soluciones para el error Incapaz de bloquear (/var/lib/dpkg/) en Ubuntu

Unas cuantas veces, al instalar/actualizar un paquete desde la línea de comandos (usando apt-get o apt) en Ubuntu, obtenemos este error: E: No se puede bloquear el directorio de administración (/var/lib/dpkg/) . Desde el punto de vista de un principiante, es un error complejo, ya que la mayoría de los nuevos usuarios no son conscientes del directorio «/var/lib/dpkg/» y de lo que tiene que ver con la operación actual que están realizando.

Técnicamente, el error es lanzado por el sistema en múltiples escenarios, y uno debería tener cuidado de cómo resuelve este problema. En este artículo discutiremos todos estos aspectos relacionados con este error y cómo puede deshacerse de él con seguridad.

No se puede bloquear (/var/lib/dpkg/) – diagnosticar el problema

Siempre que encuentre este error, el primer paso debe ser leer cuidadosamente la descripción del error. Por lo general, contiene algunos consejos cruciales que ahorran tiempo. Como ejemplo, las siguientes capturas de pantalla muestran el comando «apt-get install» con errores similares.





Sin embargo, si observa más de cerca, observará que el texto entre paréntesis en la primera línea y el texto después de la coma en la segunda línea son diferentes en ambos escenarios, lo que deja claro que el error en el primer escenario tiene algo que ver con los permisos de usuario, mientras que en el segundo escenario está relacionado con el hecho de que el archivo de bloqueo no esté temporalmente disponible.

Si se enfrenta a un error relacionado con el permiso (como se muestra en la primera imagen de arriba), es muy probable que sea porque el usuario que ejecuta el comando «apt-get» o «apt» no tiene suficientes privilegios y el comando se ejecutó sin sudo. Una vez que el comando se ejecuta con privilegios de root, el error desaparece.

Sin embargo, si se trata de un error relacionado con el bloqueo, es necesario seguir investigando.

¿Qué es /var/lib/dpkg/?

«/var/lib/dpkg/» puede considerarse como el directorio de trabajo del gestor de paquetes «dpkg», que a su vez es el motor detrás de «apt-get» (así como de las herramientas «apt» y «aptitude»). Siempre que se utilizan estas herramientas para instalar o eliminar software, bloquean la base de datos de paquetes (creando un archivo de bloqueo) antes de realizar la operación real, algo que se hace consiguiendo el bloqueo para el directorio «/var/lib/dpkg/». Este paso ayuda a evitar la corrupción de datos o la interrupción de una operación en curso que está siendo realizada por algún otro proceso.

Asumiendo que usted ha entendido el concepto explicado anteriormente, ahora vamos a discutir los pasos de la investigación.

Paso 1: Compruebe si hay algún otro proceso que retenga la cerradura

Esto debería parecer bastante lógico, ¿no? Y para hacer esto, puedes usar la ayuda del viejo comando ps y canalizar su salida al comando grep para que pases menos tiempo buscando lo que quieres. Por ejemplo, aquí hay un comando que le permite encontrar si algún proceso «apt», «apt-get» o «aptitude» ya se está ejecutando:

ps aux | grep apt

Paso 2: Espere un rato y luego tome medidas

Si hay un comando que ya ha adquirido el bloqueo, lo ideal es que espere a que se complete y libere el bloqueo. Sin embargo, si el comando tarda más de lo esperado y estás seguro de que está atascado en algún sitio, puedes seguir adelante y matarlo usando los comandos kill o killall disponibles (más información sobre ellos aquí ). Esto debería resolver el problema al que te enfrentas.

Una cosa que vale la pena mencionar aquí es que nunca se recomienda matar un proceso «dpkg» directamente – puede corromper la base de datos de paquetes. Subrayo este punto porque ahora sabes que herramientas como «apt» y «apt-get» invocan «dpkg» internamente, así que es muy posible que pienses en matar el proceso «dpkg» si lo ves en la salida de comandos «ps».

Los procesos de matanza iniciados al ejecutar comandos apt, apt-get o aptitude generalmente son mucho más seguros.

Paso 3: Cuando la salida de comando «ps» no ayuda

Tenga en cuenta que además de las herramientas de línea de comandos como apt y apt-get, algunas aplicaciones basadas en GUI como el Software Center o el Update Manager también adquieren este bloqueo.

Nota : si está obteniendo el error relacionado con el bloqueo justo después de haber arrancado en Ubuntu, es muy posible que su operación se traslape con el sondeo automático iniciado por el update-manager. Esperar un poco debería resolver el problema en este caso.

Volviendo a las aplicaciones basadas en GUI de las que hablábamos, otra opción útil y que ahorra tiempo es usar el comando fusor.

Con «fuser» sólo necesitas saber a qué fichero se accede («/var/lib/dpkg/lock» en nuestro caso), y puedes matar el proceso de acceso a ese fichero aunque no sepas de qué proceso se trata. Por ejemplo:

sudo fusor -cuk /var/lib/dpkg/lock

Ten en cuenta que el comando fusor no liberará el bloqueo adquirido por el proceso que acabas de matar, así que tendrás que hacerlo manualmente:

sudo rm -f /var/lib/dpkg/lock

Nota : a » liberar el bloqueo » simplemente significa borrar el archivo «lock» para que otros procesos puedan » adquirir el bloqueo » recreándolo.

También es posible que necesite ejecutar los dos comandos siguientes:

sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock

Consejo importante : nunca borres archivos de bloqueo como primer paso – este debería ser tu último recurso.

Conclusión

En general, siempre es bueno entender la razón detrás del problema antes de seguir adelante y resolverlo. Intentar a ciegas soluciones para resolver un problema nunca le ayudará – puede que tenga éxito en algunos casos, pero la mayoría de las veces se encontrará en un lío aún mayor, especialmente si el sistema operativo es Linux.

¿Alguna vez ha enfrentado el error que discutimos aquí? ¿Cómo lo resolviste? Deje su respuesta en los comentarios.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Hacía mucho tiempo que no conectaba mi portátil Ubuntu a Internet. Como resultado, cuando lo conecté a Internet después de dos semanas de vacío, como todos sabemos que Ubuntu es bastante aficionado a proporcionar actualizaciones de forma regular, estaba esperando un montón de actualizaciones que se proporcionarán por Ubuntu. Escribí los siguientes comandos en la terminal para intentar actualizar e ...

Linux

Cada distribución de Linux viene con un gestor de paquetes específico. Para Debian o una distribución basada en Debian, el gestor de paquetes por defecto es «apt» o «apt-get» o el gráfico Software Center/Synaptic. Estos gestores de paquetes, a su vez, confían en la herramienta de bajo nivel dpkg para gestionar los paquetes de software. En este artículo le mostramos los concepto ...

Linux

AWStats es una herramienta de generación de informes de analítica web de código abierto que genera gráficamente estadísticas avanzadas de web, streaming, FTP o servidor de correo. Este analizador de registros funciona como un CGI o desde la línea de comandos y le muestra toda la información posible que su registro contiene en unas cuantas páginas web gráficas. Utiliza un archivo de información par ...

Linux

Si usted está comenzando una tienda en línea y está buscando un CMS de comercio electrónico para ejecutar su tienda, AbanteCart es un carrito de compras gratuito y software de código abierto que usted puede utilizar. Es fácil de configurar y usar y viene con extensiones para ampliar su funcionalidad. En este artículo aprenderá a instalar, configurar y utilizar AbanteCart en Ubuntu. Requisitos Como ...

Linux

Si desea configurar un servidor web (o servidor de streaming) en su equipo Ubuntu, apache es un módulo importante que debe instalar. En este tutorial, le mostraremos cómo instalar y configurar apache para su Ubuntu. Nota : Si sólo quiere tener una configuración rápida del servidor LAMP, siga la guía aquí . Instalación de Apache Conseguir apache en su máquina Ubuntu es fácil. Utilizando el Synaptic ...

Linux

Si ha administrado un servidor Linux anteriormente, estará familiarizado con la pila LAMP (Linux, Apache, MySQL, PHP) comúnmente utilizada. Sin embargo, Apache, MySQL y PHP a veces pueden ser intensivos en recursos y pueden no ser los mejores para su servidor. En este tutorial, vamos a reemplazar todas y cada una de las partes de la pila, excepto Linux, con una alternativa mejor – Nginx, Mar ...

Linux

Kliqqqi es un sistema de gestión de contenidos de comunidades sociales que le permite crear comunidades de medios sociales en línea receptivas y bellamente diseñadas. Con Kliqqqi puedes alojar y crear tu propia red social similar a Twitter o Facebook. En este tutorial le mostraremos cómo instalar Kliqqqi en Ubuntu. Requisitos previos Asumiendo que tiene un servidor Ubuntu, necesitará tener las sig ...

Linux

Como sistema operativo, Linux ofrece una estabilidad impresionante, un increíble soporte de código abierto y una increíble gama de potentes herramientas de administración. Aunque Windows 10 es capaz de ofrecer soporte para algunas de estas cosas, no hay nada como usar un intérprete de comandos bash para administrar sus máquinas locales y de red. Hasta hace poco, la ejecución de bash en Windows req ...

Linux

Una habilidad esencial que los administradores de sistemas necesitan es mantener la salud de los sistemas en línea y fuera de línea. Esto es especialmente importante en servidores de producción donde el tiempo de inactividad o los problemas pueden causar pérdida de datos. Un problema común es que las actualizaciones fallan debido a la falta de espacio en disco, pero hay algunas comprobaciones senc ...