comunidades

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

En el CES, Canonical anunció su último gran proyecto, que se llama Ubuntu TV «TV for human beings». Gran parte de la interfaz de Ubuntu TV se basará en el trabajo de base que ya se ha establecido con el desarrollo de Unity, el revolucionario y a veces polarizante entorno de escritorio de Canonical. Siguiendo la tradición, Ubuntu TV es gratuito y de código abierto. Por lo tanto, puede ins ...

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 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

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

Cuando Ubuntu 16.04 LTS salió, mucha gente hablaba de Paquetes snap – todo desde lo bueno que son hasta la instalación de Ubuntu 16.04 si quieres probarlos. Esta fue considerada la aplicación asesina por algunos, y no es difícil ver por qué (si te gusta eso). Sin embargo, recientemente Canonical ha hecho un movimiento que algunos llamarían «bizzare»; ha hecho que los paquetes Ubunt ...

Linux

En Ubuntu (y muchas otras distribuciones de Linux), el Terminal es la aplicación única que se utiliza con más frecuencia. En lugar de ver el monótono fondo blanco sobre negro cada vez que lo lanza, ¿por qué no ponerlo como un caramelo en su escritorio? Configuración del perfil de terminal El perfil le permite configurar el comportamiento y el aspecto de su Terminal. Abra su Terminal ( Aplicaci ...

Linux

Mientras trabaja con la línea de comandos, hay ocasiones en las que puede enviar manualmente un correo electrónico para comunicar información de un solo renglón, por ejemplo, un comando complejo o una nota importante para usted o para un amigo. Normalmente, esto requiere que abra un navegador web, inicie sesión en su cuenta de correo electrónico, enmarque un mensaje de correo electrónico que conte ...

Linux

Si te has dado cuenta, Ubuntu Karmic viene con un nuevo xsplash que te permite establecer un fondo de pantalla personalizado. No sólo es más atractivo visualmente, sino que también es mucho más fácil de personalizar que el anterior usplash . En este artículo, vamos a hacer algo más interesante – cambiar el bootsplash y la pantalla de inicio de sesión al mismo tiempo cuando cambie el fondo de ...