¿Cómo obtener una lista de todas las actualizaciones de seguridad pendientes?

13

Necesito enumerar (no contar o instalar) todas las actualizaciones de seguridad pendientes en un sistema Ubuntu 14.04. He leído la publicación ¿Cómo crear una lista de solo actualizaciones de seguridad con apt-get? y su respuesta aceptada ( apt-show-versions | grep upgradeable | grep security) de hecho me da una lista.

Sin embargo, ese comando enumera 62 actualizaciones de seguridad pendientes. /usr/lib/update-notifier/apt-checkme dice que tengo 75 actualizaciones de seguridad pendientes, pero no parece tener una manera de enumerarlas. ¿Cómo puedo conciliar estos dos números? ¿Uno de los dos comandos está haciendo algo diferente a lo que quiero?

usuario3553031
fuente

Respuestas:

7

Si solo está buscando hacer esto rápidamente una vez, en lugar de crear un repositorio separado y crear algo de automatización y todo eso. Genial si se supone que no debes hacer cambios mientras auditas un sistema o lo que sea.

Estos dos comandos escupirán la lista. Canalice a wc -l para ver cuántos hay detrás. ;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -oDir::Etc::SourceParts=/some/valid/dir/false -s

Sigue siendo válido para distribuciones anteriores o si tiene repositorios de actualización desactivados, pero la seguridad está activada:

sudo apt-get upgrade -s| grep ^Inst |grep Security 
flickerfly
fuente
¿por qué escribes " Todavía válido para distribuciones anteriores o si tienes repositorios de actualizaciones desactivados, pero seguridad activada "? Si la solución canalizada no funciona, ¿quizás agregar la opción -V( -verbose-versions)?
myrdd
@myrdd Porque el primero usa características que no estaban disponibles en las distribuciones que estaban pasando de moda en 2016. Puede que ya no sea una cosa.
flickerfly
entonces la última solución siempre debería funcionar, ¿no?
myrdd
1
@myrdd Siempre que el formato de la salida no cambie en una versión más nueva. El primero es mejor porque no depende del formato de salida.
flickerfly
2

Esto funcionó para mí:

sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'
Samuel James
fuente
2
Muestra todas las actualizaciones disponibles, pero no se limita a las actualizaciones de seguridad si no me equivoco. Sigue siendo útil
delf
2
sudo apt-get -s --no-download dist-upgrade -V | grep "^Inst.*security.*$" | cut -d " " -f 2

Con algo de ayuda de esta pregunta

lolcode
fuente
2
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                            Command                            |                                                                               Purpose                                                                               |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| apt list --upgradable                                         | List all updates available                                                                                                                                          |
| apt list --upgradable | grep "\-security"                     | List all updates that are security.                                                                                                                                 |
| apt list --upgradable 2>/dev/null | grep "\-security" | wc -l | Count number of security updates available. and redirects the stderr like "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." to null |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
aprender más
fuente
0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

Esto enumera todas las actualizaciones disponibles que vienen a través del repositorio de seguridad.

zerwas
fuente
1
apt es para uso interactivo. Recibe una advertencia cuando se usa en un script. Usar en su apt-getlugar.
Bernard
0

debe haber una manera de solicitar cuántos paquetes son actualizables y cuántas actualizaciones de seguridad en este momento , pero si se conforma con preguntar una vez al día, simplemente puede leer el archivo / var / lib / update-notifier / updates-available , que parece ser actualizado diariamente por el script /etc/cron.daily/update-notifier-common que pertenece al paquete update-notifier-common

Ejemplo:

$ sudo cat /var/lib/update-notifier/updates-available

355 packages can be updated.
1 update is a security update.

Probado en:

  • Ubuntu 14.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

Saludos,

/Ángel

Ángel
fuente