He estado teniendo un error al intentar actualizar mi sistema. Actualmente no puedo instalar / eliminar o actualizar nada con apt-get …
Aquí está el error que recibo al ejecutar apt-get update
dpkg: unrecoverable fatal error, aborting: reading files list for package 'indicator-session': Input/output error E: Sub-process /usr/bin/dpkg returned an error code (2)
Ok, miré un poco más y encontré una solución: está en este post: No se puede instalar ninguna actualización a través de update manager / apt-get upgrade
Hay un enlace en la respuesta a esta página: http://ubuntuforums.org/archive/index.php/t-1232143.html
Todo se reduce a editar el archivo / var / lib / dpkg / status y eliminar todo lo relacionado con el paquete roto.
¡Mi sistema está funcionando nuevamente!
Aquí está la salida que obtuve de apt-get
:
dpkg: warning: files list file for package `libecryptfs0' missing, assuming package has no files currently installed. dpkg: warning: files list file for package `libplexus-containers1.5-java' missing, assuming package has no files currently installed. dpkg: warning: files list file for package `apport' missing, assuming package has no files currently installed.
Y así es como lo arreglé:
Copia de seguridad del archivo de estado dpkg:
cp /var/lib/dpkg/status{,.backup}
Edite el archivo de /var/lib/dpkg/status
status¹ y elimine las secciones de los paquetes sobre las que se apt-get
imprimir las advertencias. Asegúrese de eliminar toda la sección sobre estos paquetes, es decir, comience con la línea Package: libecryptfs0
hasta la primera línea en blanco.
Alternativamente, puedes usar sed
para hacer el trabajo por ti:
sed -i.backup -e '/^Package: \(libecryptfs0\|libplexus-containers1\.5-java\|apport\)$/,/^$/d' /var/lib/dpkg/status
Este comando elimina todas las secciones entre e incluyen las líneas con el Package:
y la siguiente línea vacía. Puede colocar cualquier nombre de paquete válido entre los paréntesis \(…\)
, delimítelos con \|
, y escapar de los puntos ( .
→ \.
). La opción -i.backup
edita el archivo en su lugar y crea un archivo de respaldo con el sufijo de .backup
(para que pueda omitir el paso 1 si usa la variante) en lugar de escribir el resultado en la .backup
.
Ejecute sudo apt-get -f install
para configurar paquetes no configurados y (re) instale el paquete faltante. Faltan los paquetes porque los eliminamos del archivo de status
.
¹ Ver ¿Cómo obtengo permisos para editar archivos de configuración del sistema? para cómo hacer eso.