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.

#    10-sysinfo - generate the system information
#    Copyright (c) 2013 Nick Charlton
#    Authors: Nick Charlton <>
#    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
#    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.

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"
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
/usr/lib/update-notifier/apt-check --human-readable

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

    1. Unfortunately we don’t have any clients using arm devices so we wont be adding those packages.

    1. Yes, we are aware and are currently looking for an updated method to provide update information.

Leave a Reply

Your email address will not be published.

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