Debian MOTD Update Notifier

Note: As noted below in the comments, update-notifier-common is no longer available in Debian Jessie or Stretch. Fortunately, you can install the Debian Wheezy package or you can install the repackaged version we have made available in our Debian Jessie/Stretch private repository. Instructions on using our repository can be found at OITIBS Apt Repository: Online.

If you read one of our previous articles Debian Wheezy Dynamic MOTDDebian Jessie Dynamic MOTD or Debian Stretch Dynamic MOTD, then you would probably note that I left out “Updates (20-updates)” from that tutorial. Since that tutorial was originally written, I have found an incredibly easy way of integrating update information into the dynamic MOTD system. First we will need to install the update notifier package. This can be accomplished with the command below.

# install update notifier
apt-get install update-notifier-common
# test update notifier script
/usr/lib/update-notifier/apt-check --human-readable

Once you have determined that update-notify-common is working properly, you will want to update your “System Information (10-sysinfo)” as seen below.

#!/bin/bash
#
#    10-sysinfo - generate the system information
#    Copyright (c) 2013 Nick Charlton
#
#    Authors: Nick Charlton <hello@nickcharlton.net>
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

date=`date`
load=`cat /proc/loadavg | awk '{print $1}'`
root_usage=`df -h / | awk '/\// {print $(NF-1)}'`
memory_usage=`free -m | awk '/Mem:/ { total=$2 } /buffers\/cache/ { used=$3 } END { printf("%3.1f%%", used/total*100)}'`
swap_usage=`free -m | awk '/Swap/ { printf("%3.1f%%", $3/$2*100) }'`
users=`users | wc -w`
time=`uptime | grep -ohe 'up .*' | sed 's/,/\ hours/g' | awk '{ printf $2" "$3 }'`
processes=`ps aux | wc -l`
ip=`ifconfig $(route | grep default | awk '{ print $8 }') | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'`

echo "System information as of: $date"
echo
printf "System Load:\t%s\tIP Address:\t%s\n" $load $ip
printf "Memory Usage:\t%s\tSystem Uptime:\t%s\n" $memory_usage "$time"
printf "Usage On /:\t%s\tSwap Usage:\t%s\n" $root_usage $swap_usage
printf "Local Users:\t%s\tProcesses:\t%s\n" $users $processes
echo
/usr/lib/update-notifier/update-motd-reboot-required
/usr/lib/update-notifier/apt-check --human-readable
echo

Once the file is updated to reflect the above changes, your new MOTD should look something like the picture below.

Did you find this article useful? Why not share it with your friends?

5 thoughts on “Debian MOTD Update Notifier

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.