Motd

See original below, but basically need to copy the previously made motd.tgz file

--Copy update-motd.d to /etc

--copy updates to /usr/local/bin

--create crontab entry to run /usr/local/bin/updates/GetNumUpdates

--sudo apt-get install lsb-release figlet

--sudo rm /etc/motd

--sudo ln -s /var/run/motd /etc/motd

Source: https://oitibs.com/debian-jessie-dynamic-motd/

Debian Jessie Dynamic MOTD

June 6, 2015 Views: 8235ArticlesBash, Debian, Linux

If you have ever used Ubuntu Server then you should be familiar with the dynamic MOTD. This is what is presented to the user in terminal when a log on occurs.

This feature is very nice as it will give you a quick look at useful information. Unfortunately, Debian Server does not include the dynamic MOTD. This tutorial is based on our previous article Debian Wheezy Dynamic MOTD. First you will need to install some prerequisites and build the directory structure. To do so, run the following commands in terminal. if you would like to add update notification, I have written another article detailing the steps at Debian MOTD Update Notifier.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

# install lsb-release

sudo apt-get install lsb-release

# install figlet to enable ASCII art

sudo apt-get install figlet

# create directory

mkdir /etc/update-motd.d/

# change to new directory

cd /etc/update-motd.d/

# create dynamic files

touch 00-header && touch 10-sysinfo && touch 90-footer

# make files executable

chmod +x /etc/update-motd.d/*

# remove MOTD file

rm /etc/motd

# symlink dynamic MOTD file

ln -s /var/run/motd /etc/motd

Once the above commands have been run, you can move on to populating the files you created. Below you can copy and paste.

Header (00-header)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

System Information (10-sysinfo)

#!/bin/sh

#

# 00-header - create the header of the MOTD

# Copyright (c) 2013 Nick Charlton

# Copyright (c) 2009-2010 Canonical Ltd.

#

# Authors: Nick Charlton <hello@nickcharlton.net>

# Dustin Kirkland <kirkland@canonical.com>

#

# 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.

[ -r /etc/lsb-release ] && . /etc/lsb-release

if [ -z "$DISTRIB_DESCRIPTION" ] && [ -x /usr/bin/lsb_release ]; then

# Fall back to using the very slow lsb_release utility

DISTRIB_DESCRIPTION=$(lsb_release -s -d)

fi

figlet $(hostname)

printf "\n"

printf "Welcome to %s (%s).\n" "$DISTRIB_DESCRIPTION" "$(uname -r)"

printf "\n"

#!/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%%", "exit !$2;$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

Footer (90-footer)

#!/bin/sh

#

# 90-footer - write the admin's footer to the MOTD

# Copyright (c) 2013 Nick Charlton

# Copyright (c) 2009-2010 Canonical Ltd.

#

# Authors: Nick Charlton <hello@nickcharlton.net>

# Dustin Kirkland <kirkland@canonical.com>

#

# 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.

[ -f /etc/motd.tail ] && cat /etc/motd.tail || true

Once these files are populated with the above, you should now be able to logout and then log back in either using putty or on the console and you will be presented with something that looks like below.