Linux: muestra o actualiza las actualizaciones de seguridad solo con apt

11

¿Hay alguna manera de enumerar o instalar actualizaciones de seguridad solo con apt?

si enumero actualizaciones con:

apt list --upgradable

¿Puedo ver también sin conocer paquetes y bibliotecas qué actualizaciones son actualizaciones de seguridad relevantes ?

y, además, ¿hay una opción para aplicarlos solo omitiendo otros, por lo que las actualizaciones no relevantes para la seguridad se solicitarán nuevamente la próxima vez que ejecute apt upgrade?

nath
fuente
1
entonces tiene dos preguntas, 1.imprimir actualizaciones de seguridad, 2. actualizar solo los paquetes seleccionados, bueno, sé que hay 6 enlaces en sources.list y dos de ellos son enlaces de repos relacionados con la seguridad, puede ver qué paquetes actualizables se descargarían desde cada enlace siguiendo el comando: sudo apt upgrade --no-upgrade --assume-no --print-uris
Brian SP2
1
pero sobre la segunda pregunta, aparentemente puede elegir un solo paquete para actualizar con el siguiente comando sudo apt upgrade --upgrade-only <package name> pero esto no funciona para mí, lo siento
Brian SP2

Respuestas:

7

aptno puede (todavía) proporcionar la información que busca. aptitudeaunque puede, aunque algo confuso:

aptitude search '~U ~ODebian' -F "%p %O"|awk '/Debian-Security/ {print $1}'

Esto busca todos los ~Upaquetes actualizables ( ) de los repositorios oficiales de Debian ( ~ODebian), y muestra su nombre de paquete ( %p) y "origen" ( %O). Este último realmente muestra la etiqueta del repositorio , que es "Debian-Security: 9 / stable" para los repositorios de seguridad de Debian 9. Termina con una lista de nombres de paquetes actualizables de los repositorios de seguridad.

Hay una variedad de formas de instalar solo actualizaciones de seguridad, aunque ninguna de ellas es ideal.

  • aptitudeLa interfaz de texto permite que solo se apliquen actualizaciones de seguridad, simplemente desplazándose al encabezado "Actualizaciones de seguridad" (que debería ser el primero) y presionando +.

  • Puede alimentar la lista de paquetes extraídos anteriormente aptpara instalar las actualizaciones:

    aptitude search '~U ~ODebian' -F "%p %O" |
    awk '/Debian-Security/ {print $1}' |
    xargs apt-get install --only-upgrade
    

    Esto tiene el desafortunado efecto secundario de borrar el marcador de "instalación automática" en los paquetes actualizados.

  • Puede usar unattended-upgrades, cuya acción predeterminada es solo aplicar actualizaciones de seguridad:

    unattended-upgrades -v
    

    Si no desea que las actualizaciones se instalen automáticamente, deberá desactivar unattended-upgradesel trabajo cron diario.

Stephen Kitt
fuente
La TUI de Aptitude ya no parece presentar actualizaciones de seguridad por separado, desde hace aproximadamente un año el 16.04 y actualmente el 18.04. ¿Alguien más ha visto eso?
Greg Bell
@ Greg todavía lo hace por mí (en Debian 10), y no veo ningún cambio en Ubuntu que pueda afectar eso. Quizás las actualizaciones de seguridad se apliquen automáticamente antes de que pueda verlas aptitude, por ejemplo , por unattended-upgrades...
Stephen Kitt
No, mis actualizaciones desatendidas se limitan solo a thunderbird, sshd y firefox. Lo extraño es que la búsqueda de aptitud '~ U' encuentra mucho. Puedo ver que todavía funciona en la aptitud 0.7.4; aptitude 0.8.10 es con lo que viene Ubuntu 18.04. ¿Qué versión tienes?
Greg Bell
@ Greg Tengo 0.8.11, y muestra actualizaciones de seguridad en su propia sección . La pantalla es configurable, lo que podría ser el problema aquí: cuando presiona G, ¿qué mecanismo de agrupación de paquetes se muestra? El valor por defecto es task,status,section(subdirs,passthrough),section(topdir).
Stephen Kitt
Mismo mecanismo de agrupación aquí. Y he hecho ~ / .aptitude para asegurarme de que no era algo tonto lo que había establecido.
Greg Bell
5

Para mostrar la actualización de seguridad puede usar:

apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'

Para aplicar solo las actualizaciones de seguridad para 1 paquete:

apt-get install --only-upgrade pckg_name

Para aplicar solo las actualizaciones de seguridad de la lista:

list=$(apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++')
apt-get install --only-upgrade $list
GAD3R
fuente