Solución: no se pudo abrir el archivo / var / lib / dpkg / status

Es posible que obtenga un desagradable error de "no se pudo abrir el archivo / var / lib / dpkg / status" o algo similar si ha estado hurgando en el directorio / var / lib / dpkg / y borrando cosas como usuarios root. La mayoría de los archivos ubicados en / var, según el estándar de jerarquía del sistema de archivos de Linux, son temporales y cambian durante la operación. Sin embargo, eso no significa que deban limpiarse de la misma forma que se debe borrar la memoria caché de un navegador web.

Dado que la mayoría de los usuarios de Linux no tienen la necesidad de hurgar aquí, la buena noticia es que probablemente no obtendrá este casi nunca. Aquellos que están en distribuciones que no usan apt-get, como Fedora o Arch, tampoco obtendrán este error, ya que es completamente específico para ese administrador de paquetes. Sin embargo, si estás lidiando con eso, sigue leyendo.

Método 1: Al reparar un error aparentemente aleatorio, no se pudo abrir el archivo / var / lib / dpkg / status Error

Si este error surge de la nada, escriba ls / var / lib / dpkg / status en la línea de comando y eche un vistazo a la salida.

También es posible que desee utilizar un administrador de archivos gráfico para el navegador y echarle un vistazo.

Asegúrese de ver un archivo de estado en los resultados. Normalmente, solo obtendrá una línea que dice / var / lib / dpkg / status sin nada más después antes de que regrese directamente al indicador. Si ese es el caso, entonces tiene un archivo allí y debería estar bien. Cierre todos los programas en los que estaba trabajando después de guardar y luego reinicie.

Una vez que haya vuelto a funcionar, escriba sudo apt-get update seguido de sudo apt-get upgrade en la terminal y siga las indicaciones. Probablemente le pedirán su contraseña de administrador, pero una vez que se actualice debería estar bien. Querrá estar atento a cualquier error extraño.

Si el archivo no estaba allí, tendrá que tomar algunas decisiones.

Método 2: Recreación de / var / lib / dpkg / status

Algunos usuarios hacen una copia de seguridad de todos sus datos importantes en este punto antes de reinstalar Linux. Podría hacer esto, pero podría haber una forma de salvar las cosas primero. Hay una copia de seguridad de / var / lib / dpkg / status que se realiza automáticamente y, con suerte, no ha pasado mucho tiempo desde que recibió el error que provocó que no estuviera sincronizado.

Intente ejecutar sudo cp / var / lib / dpkg / status-old / var / lib / dpkg / status en la terminal. Si esto no le da un error, entonces puede ver si esto solucionó el problema. Esto restaura la copia de seguridad más reciente del archivo de estado, pero desafortunadamente, si estaba demasiado desactualizado, es posible que aún esté en problemas. Sin embargo, puede reiniciar y ejecutar sudo apt-get update seguido de sudo apt-get upgrade para ver qué tipo de errores de dependencia acaban apareciendo. En el mejor de los casos, no tendrá ninguno y simplemente podrá continuar trabajando con su sistema nuevamente como de costumbre.

También puede intentar reconstruir la lista de estado. Escriba sudo touch / var / lib / dpkg / status para crear un archivo vacío como usuario root y luego intente sudo apt-get install long-list desde la terminal. Hay algunos scripts que hacen esto automáticamente, pero esto es esencialmente lo mismo y viene sin los peligros de ejecutar un script potencialmente desactualizado en su máquina. Tenga en cuenta que deberá recordar lo que tiene en su sistema para que esto funcione, y el software le pedirá que lo recuerde.

También puede probar ls /var/backups/dpkg.status* y ver cuáles están allí y que podría querer usar para esto.

Eche un vistazo a la lista que aparece cuando ejecuta eso. Si ve uno que no está cerrado , intente con sudo cp /var/backups/dpkg.status.0 / var / lib / dpkg / status y vea si eso soluciona las cosas. Siempre puedes copiar uno de los otros y ejecutar el comando gunzip para descomprimirlo. Sin embargo, tenga en cuenta que cuanto más retroceda, mayor será el riesgo de actualizar un archivo obsoleto que causaría dependencias rotas.