Ejecutar apt update más de una vez hace imposible la actualización

Ejecutar apt update más de una vez hace imposible la actualización

Tengo un script que actualiza el sistema:

sudo apt update && sudo apt upgrade && sudo apt autoremove

A veces arroja un error que dice que la actualización está bloqueada, por lo que no se pueden actualizar los paquetes actualizables. Cuando ejecuto el script nuevamente, ese momento apt updateno muestra nada que actualizar, y cuando es el momento de ejecutar apt upgradeno hay actualización porque "no hay nada" que actualizar. ¿Cómo puedo actualizar los paquetes enumerados en el primero apt update?

Caso real: ahora tengo Firefox 67.0.3 (está disponible la versión 67.0.4), la primera apt updatemostró que había una actualización para él. No se pudo actualizar y ahora, cuando lo ejecuto apt updatenuevamente, no aparece ninguna actualización para Firefox y apt upgradeno actualicé nada.

Busqué este problema en Google pero no tuve éxito. Agradecería cualquier tipo de ayuda.

Gracias de antemano y perdón por mi inglés.

Respuesta1

La razón más probable es que ocasionalmente esté ejecutando su script al mismo tiempo que también se ejecutan las Actualizaciones desatendidas.

Es fácil comprobarlo consultando el registro de actualizaciones desatendidas.

Aquí hay un ejemplo de mi registro de actualizaciones desatendidas de hoy:

$ grep 2019-06-21 /var/log/unattended-upgrades/unattended-upgrades.log

2019-06-21 06:35:25,971 INFO Initial blacklist : 
2019-06-21 06:35:25,986 INFO Initial whitelist: 
2019-06-21 06:35:25,986 INFO Starting unattended upgrades script
2019-06-21 06:35:25,986 INFO Allowed origins are: o=Ubuntu,a=disco, o=Ubuntu,a=disco-security, o=UbuntuESM,a=disco, 
2019-06-21 06:36:00,248 INFO Packages that will be upgraded: bind9-host intel-microcode libbind9-161 libdns-export1104 libdns1104 libirs161 libisc-export1100 libisc1100 libisccc161 libisccfg163 liblwres161 libpq5
2019-06-21 06:36:00,248 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2019-06-21 06:37:18,374 INFO All upgrades installed

Eche un vistazo a la línea 5 del registro ( Packages that will be upgraded:...): esta lista se extrae directamente de apt. Escasila misma lista que obtienes sudo apt update. La configuración predeterminada para las actualizaciones desatendidas es utilizar únicamente el bolsillo de seguridad. Ni actualizaciones, ni backports, ni PPA, ni repositorios de terceros. Por lo tanto, es posible que no se instalen algunos paquetes que no son de seguridad. Puede cambiar esta configuración.

Ahora eche un vistazo a la línea 7 del registro ( All upgrades installed): Esta es su confirmación positiva de que todos los paquetes enumerados en la línea 5 se actualizaron exitosamente y que las Actualizaciones desatendidas liberaron el bloqueo de apt y finalizaron por ese día. Si hubo un problema o una falla, o si UU todavía está funcionando, no verá esta línea.

Puede ver que si hubiera ejecutado un manual sudo apt updatea las 06:35, habría habido muchos paquetes para actualizar. Pero si lo hubiera ejecutado sudo apt upgradea las 06:38, no se habría actualizado ningún paquete... porque las actualizaciones desatendidas ya lo habían hecho.

Respuesta2

Apuesto a que la actualización del software de Ubuntu se interpone cada vez que finaliza la actualización de Sudo apt. Debes abrir la configuración de actualización de software y asegurarte de que esté configurada en todas las opciones "Nunca". No creo que eso suprima la ventana emergente, pero debería evitar que intente actualizar automáticamente y bloquear los archivos.

Para arreglar Firefox, lo ejecutaría sudo apt install --reinstall firefoxy vería si eso soluciona el problema. Si se queja de un candado, generalmente puedes quitarlo con sudo rm /var/lib/dpkg/lock.

Por cierto, para tu script, puedes acelerarlo usandosudo -- sh -c 'apt update; apt upgrade --autoremove -y'

información relacionada