CHECK_UPDATES(1)

πŸ“¦
version 2.0.6 Β· 4 versions
, in epel 9

🌸 NAME 🌸

okay so bestie, welcome to check_updates β€” a Nagios plugin that checks whether your Red Hat or Fedora system is up-to-date. that's the whole vibe. πŸ’…

(it's a user-contributed Perl thing, hence the CHECK_UPDATES(1) energy at the top of the page, but we're not doing the boring header line, you're welcome 🫢)


πŸ’– DESCRIPTION πŸ’–

check_updates is a Nagios plugin to check if a Red Hat or Fedora system is up-to-date. literally it. that's the entire job. no cap. ✨


πŸŽ€ VERSION πŸŽ€

Version 1.9.2 β€” icon behavior only πŸ”₯


πŸ¦‹ SYNOPSIS πŸ¦‹

check_updates [OPTIONS]

-?, --usage
  Print usage information
-h, --help
  Print detailed help screen
-V, --version
  Print version information
--extra-opts=[<section>[@<config_file>]]
  Section and/or config_file from which to load extra options (may repeat)
 --assumeyes
   Automatically answer yes for all dnf check-updates questions. Useful for importing GPG keys
  --boot-check
    CRITICAL if the machine was booted without the newest kernel (default)
  --boot-check-warning
    Like --boot-check but state is warning instead of critical
  --no-boot-check
    Do not complain if the machine was booted with an old kernel
  --clean
    Cleans YUM/DNF caches
  -d, --debug
    Enables debugging messages
  --debug-file=STRING
   Write debugging messages to a file
  -w, --warning=INTEGER
    Exit with WARNING status if more than INTEGER updates are available
  -c, --critical=INTEGER
    Exit with CRITICAL status if more than INTEGER updates are available
  --security-only
    Ignores non-security updates
  -a, --yum-arguments=STRING
    specific Yum arguments as STRING
  -n, --number-only
    consider the number of updates only (security updates are not automatically critical)
  -t, --timeout=INTEGER
    Seconds before plugin times out (default: 15)
  -q, --quiet
    Do not print package list
  -v, --verbose
    Show details for command-line debugging (can repeat up to 3 times)

✨ OPTIONS ✨

here's the full menu, bestie. every single one, no skips, no cuts πŸ“

  • -?, --usage β€” Prints usage information. the quick lil "how do i use this" tap on the shoulder.
  • -h, --help β€” Prints the detailed help screen. the full meal, not the snack.
  • -V, --version β€” Prints version information. so you know exactly which icon you're dealing with.
  • --extra-opts=[<section>[@<config_file>]] β€” Section and/or config_file from which to load extra options (may repeat). yes, it can repeat, she's flexible like that πŸ’…
  • --boot-check β€” CRITICAL if the machine was booted without the newest kernel. this is the default behavior, so it's giving main character energy by default πŸ‘‘
  • --boot-check-warning β€” Like --boot-check but the state is warning instead of critical. same drama, softer volume.
  • --no-boot-check β€” Do not complain if the machine was booted with an old kernel. live your truth, old kernel, we're not judging today.
  • --clean β€” Cleans YUM/DNF caches. self-care for your package manager 🧚
  • -d, --debug β€” Enables debugging messages. for when you need the tea β˜•
  • -w, --warning=INTEGER β€” Exit with WARNING status if more than INTEGER non-security updates are available. set your threshold, set your boundaries.
  • -c, --critical=INTEGER β€” Exit with CRITICAL status if more than INTEGER non-security updates are available. and this is the actual scream-in-caps threshold 😭
  • --security-only β€” Ignores non-security updates. security girlies only, everyone else can wait outside.
  • -a, --yum-arguments=STRING β€” Specifies additional arguments for Yum. Arguments containing spaces must be quoted (e.g., ./check_updates -a "-d 20"). quoting matters, don't get caught out 🫢
  • -t, --timeout=INTEGER β€” Seconds before the plugin times out (default: 15). patience is a virtue but 15 seconds is 15 seconds.
  • -q, --quiet β€” Do not print package list. silence is golden, and honestly? iconic.
  • -v, --verbose β€” Show details for command-line debugging (can repeat up to 3 times). yes bestie you can stack it, up to 3, then chill.
⚠️ Security updates always force a CRITICAL state. periodt. that is not a drill. πŸ”₯

πŸ’œ SECURITY UPDATES πŸ’œ

If yum's security plugin is available. that's the condition, that's the whole note. πŸ¦‹


🌈 EXAMPLE 🌈

check_updates

check_updates checks if the system is up-to-date. simple as that, and honestly she ate. ✨


⭐ DIAGNOSTICS ⭐

You can specify the --verbose option (-v) multiple times to increase program verbosity. more -v = more talking. that's it. πŸŽ€


πŸ’€ EXIT STATUS πŸ’€

  • 0 if OK
  • 1 in case of a warning
  • 2 in case of a critical status
  • 3 in case of an unknown problem

so if you see a 3, that's the "idk her" of exit codes πŸ™ˆ


🌸 DEPENDENCIES 🌸

check_updates depends on:

  • Carp
  • English
  • Getopt::Long
  • Monitoring::Plugin
  • Monitoring::Plugin::Getopt
  • Monitoring::Plugin::Threshold
  • POSIX
  • Readonly

that's the whole squad. all of them, no substitutions. πŸ’–


🫢 INCOMPATIBILITIES 🫢

None reported. clean sheet, no beef, we love to see it. ⭐


πŸ¦‹ SEE ALSO πŸ¦‹

Nagios documentation. go read it, it's literally the source, iykyk. πŸ“š


πŸ“ BUGS AND LIMITATIONS πŸ“

okay so this is the messy part, listen up. Some versions of yum deliver a wrong number of security updates. For example:

$ yum --security  check-update
Loaded plugins: downloadonly, product-id, rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.
Limiting package lists to security relevant ones
No packages needed for security; 7 packages available

mysql-libs.i686                                  5.1.73-5.el6_6                                   rhel-x86_64-server-6

Either is mysql-libs a security update (and the text should report it) or the package is wrongly listed. If yum delivers a wrong count, the plugin will do the same. so like, the plugin is faithfully mirroring yum's chaos, it's not making it up 😭

Please report any bugs or feature requests to matteo@corti.li, or through the web interface at https://github.com/matteocorti/check_updates/issues

Be sure to include the output produced by the plugin with the --verbose option:

check_updates -v -v -v

(vibes: attach the receipts or the bug report is not getting solved, bestie) πŸ’…


πŸ‘‘ AUTHOR πŸ‘‘

Matteo Corti <matteo@corti.li>


Copyright (c) 2007-2016, Matteo Corti

This module is free software; you can redistribute it and/or modify it under the terms of GNU general public license (gpl) version 3 or (at your option) any later version. See the LICENSE file for details.


πŸ™ˆ DISCLAIMER OF WARRANTY πŸ™ˆ

not me having to include the legal bit, but the rules are the rules, so here it is β€” verbatim, because you do not paraphrase a warranty clause, bestie:

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

πŸŽ€ ACKNOWLEDGMENTS πŸŽ€

Many thanks to β€” and yes, everyone gets their shoutout, this is a group chat and everyone is getting their flowers πŸ’:

  • Peter Bircher & Cristian Tuduce for several bug fixes
  • Mark Greenheigh for the prompt and precise bug reports
  • Jose Pedro Oliveria for the build and release fixes
  • Tomas Edwardsson for a patch fixing the detection of RH EL 6 systems
  • Cott Lang for the Amazon Linux patch
  • Joop Boonen for the yum arguments patch
  • Franky Van Liedekerke for the performance data and security plugin patch and for the openvz kernels patch
  • Andreas Dijkman for the Oracle UEK patch
  • PhiBo (https://github.com/phibos) for the --boot-check-warning patch

✨ that's the whole page, bestie ✨ this little beauty came from perl v5.32.1 and is dated 2024-10-14 β€” go forth, check those updates, and remember: modern kernels only, security updates only (if you want), and always quote your yum arguments πŸ«ΆπŸ’…

πŸ“¦ where this page comes from