¿Cómo verifico solo las actualizaciones de seguridad desde la línea de comandos?

16

¿Hay alguna manera de verificar rápidamente la disponibilidad de actualizaciones de seguridad desde la línea de comandos?

En mi sistema 12.04 en ejecución, apt-get updateobtiene 20 MB de datos sobre los paquetes disponibles cada vez que lo ejecuto, llegando a muchos repositorios en el camino. Entonces puedo usar cualquiera de los métodos descritos aquí para realizar la actualización.

Mi pregunta es solo acerca de detectar la disponibilidad de actualizaciones de seguridad (es decir, no realizar la actualización real usando apt-get / aptitude / etc): ¿hay una verificación rápida que se puede hacer desde la línea de comandos que proporciona una respuesta de sí a no? pregunta "¿hay actualizaciones de seguridad disponibles?". Me gustaría ejecutar eso antes de ejecutar la apt-get updateactualización larga + real.

Supongo que no necesito descargar 20 MB de datos para saber la respuesta a eso todos los días.

laramichaels
fuente
¿Te refieres a los apt-get update20MB de metadatos del paquete?
Jeremy Kerr
@JeremyKerr: sí, lo hace si está en el servidor principal (archive / us.archive) porque las listas de paquetes se actualizan cada media hora ... hay uno o dos hilos largos al respecto en AU de internacional / baja velocidad usuarios que están muy decepcionados al respecto.
ish
@izx: interesante, acabo de ejecutar una prueba apt-get updateusando un espejo australiano (estoy en .au); el total descargado fue de 1.3MB.
Jeremy Kerr

Respuestas:

11

Mi pregunta es solo acerca de detectar la disponibilidad de actualizaciones de seguridad

Sí, eso es factible con la advertencia de que lo normal apt-get updatehará una actualización completa la próxima vez que lo ejecute (20 MB significa que lo está haciendo de todos modos).

  • sudo sh -c 'grep precise-security /etc/apt/sources.list > /etc/apt/secsrc.list

  • Y si luego ejecuta lo siguiente, verá si hay actualizaciones de seguridad disponibles ( salida de muestra ):

    sudo sh -c 'apt-get -o Dir :: Etc :: sourcelist = "secsrc.list" \
    -o Dir :: Etc :: sourceparts = "-" actualización && \
    apt-get --assume-no upgrade '
    
  • Esto le indica apt-getque use temporalmente la lista especial de fuentes solo de seguridad y luego se ejecuta upgrade, respondiendo automáticamente no.

  • Si hay alguno, ejecute correctamente apt-get update(lo que hará una actualización completa) y luego actualice.

  • Puede hacer que lo anterior sea un script bash con una simple verificación de código grep / exit al final si no tiene ganas de analizar la salida de apt-get :)

ish
fuente
esto es exactamente lo que estaba buscando, ¡muchas gracias! :) una pregunta rápida: mi archivo /etc/apt/secsrc.list no hace referencia al repositorio 'partners' (solo a 'principal restringido', 'universo' y ' multiverse '), ¿seguiré recibiendo notificaciones de actualizaciones de seguridad para los paquetes en ese repositorio?
laramichaels
@laramichaels, el repositorio de socios contiene solo quince paquetes , y estos son básicamente binarios patentados envueltos en un .deb. No se publican actualizaciones incrementales de "seguridad" para estos, e imagino que incluso las actualizaciones regulares son poco frecuentes (piense en Adobe Reader). Yo acababa de añadir el repositorio real ( deb http://archive.canonical.com/ubuntu precise partner) que secsrc.listdado el reducido tamaño (5 kb) del archivo de actualización pareja.
ish
@laramichaels, también agregué una respuesta más detallada a su pregunta anterior sobre el aspecto de actualizaciones de seguridad de socios. La respuesta aceptada fue IMO errónea, por lo tanto, eche un vistazo cuando tenga un momento libre y acepte el mío si cree que es mejor.
ish
1
¿Para qué es este bit? -o Dir::Etc::sourceparts="-"
ChocoDeveloper
2

Es posible que esto no sea exactamente lo que está haciendo la pregunta, pero si ya se ha ejecutado apt update, puede ver qué actualizaciones de seguridad están disponibles usando:

sudo apt list --upgradable | grep -e "-security"

que te dará algo como:

libssl1.0.0/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
openssl/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
Steve
fuente