mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-21 18:41:03 +00:00
pacman_unrequired_packages: new plugin
Heavily based on pacman_pending_updates
This commit is contained in:
parent
8ca0c1c5ec
commit
45b02b302e
1 changed files with 81 additions and 0 deletions
81
plugins/other/pacman_unrequired_packages
Executable file
81
plugins/other/pacman_unrequired_packages
Executable file
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
: <<=cut
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
pacman_unrequired_packages - Plugin to monitor packages no longer required.
|
||||||
|
|
||||||
|
=head1 APPLICABLE SYSTEMS
|
||||||
|
|
||||||
|
All systems with pacman as their package manager.
|
||||||
|
|
||||||
|
=head1 CONFIGURATION
|
||||||
|
|
||||||
|
The plugin needs no additional configuration and works out of the box.
|
||||||
|
|
||||||
|
=head1 INTERPRETATION
|
||||||
|
|
||||||
|
This plugin will draw one block: the number of packages no longer required.
|
||||||
|
|
||||||
|
=head1 MAGIC MARKERS
|
||||||
|
|
||||||
|
#%# family=auto
|
||||||
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
|
=head1 VERSION
|
||||||
|
|
||||||
|
1.0.0
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Olivier Mehani <shtrom+munin@ssji.net>
|
||||||
|
Bert Peters <bert@bertptrs.nl> (pacman_pending_updates)
|
||||||
|
|
||||||
|
=head1 LICENSE
|
||||||
|
|
||||||
|
GPLv2
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
config)
|
||||||
|
cat <<'EOM'
|
||||||
|
graph_args --base 1000 -l 0
|
||||||
|
graph_title Unrequired packages
|
||||||
|
graph_vlabel packages
|
||||||
|
graph_category security
|
||||||
|
unrequired.label unrequired
|
||||||
|
unrequired.info Current number of unrequired packages. They can be removed with `pacman -Rsn $(pacman -Qdtq).`
|
||||||
|
unrequired.draw AREA
|
||||||
|
EOM
|
||||||
|
;;
|
||||||
|
|
||||||
|
autoconf)
|
||||||
|
if hash pacman >/dev/null 2>&1; then
|
||||||
|
echo yes
|
||||||
|
else
|
||||||
|
echo "no (pacman not found)"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
unrequired="$(pacman -Qdtq)"
|
||||||
|
exitcode=$?
|
||||||
|
if [ "$exitcode" = 0 ]; then
|
||||||
|
if [ -n "$unrequired" ]; then
|
||||||
|
echo "unrequired.value $(echo "$unrequired" | wc -l)"
|
||||||
|
echo "unrequired.extinfo $(echo "$unrequired" | paste -s -d,)"
|
||||||
|
else
|
||||||
|
echo "unrequired.value 0"
|
||||||
|
fi
|
||||||
|
elif [ "$exitcode" = 1 ]; then
|
||||||
|
# "pacman" returns the exitcode 1 if no matching package is found
|
||||||
|
echo "unrequired.value 0"
|
||||||
|
else
|
||||||
|
echo "unrequired.value U"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Add table
Add a link
Reference in a new issue