Cómo obtener la cantidad de actualizaciones disponibles en un sistema Ubuntu como usuario normal

8

Necesito esto para un script de monitoreo simple que no quiero ejecutar como root ...

Joe Kandaba
fuente
1
siempre hay un comando sudo nopasswd restringido
Michael Lowman
Gracias a todos por las muchas respuestas. Después de probar algunas de sus sugerencias y analizar un poco más, me parece que la solución que requiere menos dependencias y es la más segura es simplemente analizar / etc / motd, sin embargo, eso no me parece muy elegante :)
Joe Kandaba

Respuestas:

10

El número de actualizaciones de seguridad pendientes se puede encontrar usando:

/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 1

y el número de actualizaciones regulares pendientes se puede encontrar usando:

/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 2

/superuser/199869/check-number-of-pending-security-updates-in-ubuntu

quanta
fuente
mucho más elegante que el mío :)
anthonysomerset
Gracias por la respuesta, sin embargo, como lo señaló jldugger, es un servidor (sin cabeza), por lo que instalar> 240 paquetes que incluyen muchas cosas de interfaz gráfica de usuario solo para obtener el número de actualizaciones aptas realmente no es una opción.
Joe Kandaba
Lo proporciona el paquete update-notifier-common. No creo que tenga ninguna dependencia gui.
sourcejedi
1

usar sudo es su respuesta, es probable que necesite agregar el usuario en el que desea ejecutar el script al archivo sudoers y probablemente con el indicador nopasswd para que no solicite su contraseña cada vez que se ejecuta el script, para obtener más información sobre sudo, intente echando un vistazo aquí: https://help.ubuntu.com/community/Sudoers

anthonysomerset
fuente
Realmente prefiero que no se ejecute nada como root en un servidor que no tiene que ser absolutamente necesario.
Joe Kandaba
sólo se ejecuta como root el tiempo suficiente para ejecutar el comando, y se puede limitar a la orden específica que se necesita para obtener actualizaciones, neutralizando así cualquier posible amenaza a la seguridad
anthonysomerset
1

Ubuntu tiene muchos complementos de nagios empaquetados, incluido el práctico check_apt, un programa personalizado de C. Es ligeramente mejor que el notificador de actualización, ya que sus dependencias son más pequeñas; si está interesado en monitorear servidores, ¡probablemente ya lo haya instalado! El resultado se ve así (si no le gusta, parece trivial bifurcar el programa para imprimir lo que necesita):

APT OK: 0 packages available for upgrade (0 critical updates).

Si las alertas de nagios no son su preferencia, puede hacer lo que hago e instalar apticron, que le enviará notificaciones por correo electrónico sobre las actualizaciones disponibles en un sistema.

jldugger
fuente
¡Gracias! Apticron no es una opción, ya que necesito la información para mi propio script, por lo que un correo electrónico no funciona. Por la misma razón que no estoy usando nagios, sin embargo, su respuesta parece implicar que "check_apt" se puede usar de forma independiente.
Joe Kandaba
@ Joe todos los plugins de Nagios se puede ejecutar independently-- que es más de lo que lo hace :) nagios
Michael Lowman
Sí. Es solo un programa instalado en / usr / lib / nagios / check_apt. Funciona bien como cualquier usuario anterior.
jldugger